status of advapi32

James Hawkins truiken at gmail.com
Sat Jul 24 19:12:42 CDT 2004


Hi all,

Using Dependency Walker to extract the function names from the
advapi32.dll, I have compiled a list of implemented, stubbed,
semi-stubbed, missing, and questionable api functions of advapi32.dll.
 As for the percentage that is completed, using implemented / total *
100, advapi32.dll is 50% complete.  With this format, developers can
see what has already been done and what has yet to be done.  It puts
the whole process into a proper perspective.  If anyone has any ideas
about this or suggestions, let me know.

-- 
James Hawkins
-------------- next part --------------
advapi32
--------

Advanced API services library supporting numerous APIs including many security and registry calls.

API Details
-----------

implemented:

AccessCheck
AddAccessAllowedAce
AddAccessDeniedAce
AddAce
AdjustTokenPrivileges
AllocateAndInitializeSid
AllocateLocallyUniqueId
AreAnyAccessesGranted
CloseServiceHandle
CopySid
CreateServiceA
CreateServiceW
CryptAcquireContextA
CryptCreateHash
CryptDecrypt
CryptDeriveKey
CryptDestroyHash
CryptDestroyKey
CryptEncrypt
CryptExportKey
CryptGenKey
CryptGenRandom
CryptGetHashParam
CryptGetKeyParam
CryptGetProvParam
CryptGetUserKey
CryptHashData
CryptHashSessionKey
CryptImportKey
CryptReleaseContext
CryptSetHashParam
CryptSetKeyParam
CryptSetProvParam
CryptSetProviderA
CryptSignHashA
CryptVerifySignatureA
DeleteAce
EqualPrefixSid
EqualSid
FindFirstFreeAce
FreeSid
GetAce
GetAclInformation
GetLengthSid
GetSecurityDescriptorControl
GetSecurityDescriptorDacl
GetSecurityDescriptorGroup
GetSecurityDescriptorLength
GetSecurityDescriptorOwner
GetSecurityDescriptorSacl
GetSidIdentifierAuthority
GetSidLengthRequired
GetSidSubAuthority
GetSidSubAuthorityCount
GetTokenInformation
GetUserNameA
GetUserNameW
ImpersonateSelf
InitializeAcl
InitializeSecurityDescriptor
InitializeSid
IsValidAcl
IsValidSecurityDescriptor
IsValidSid
LookupPrivilegeValueA
LookupPrivilegeValueW
MakeAbsoluteSD
MakeSelfRelativeSD
OpenProcessToken
OpenThreadToken
RegCloseKey
RegConnectRegistryA
RegConnectRegistryW
RegCreateKeyA
RegCreateKeyExA
RegCreateKeyExW
RegCreateKeyW
RegDeleteKeyA
RegDeleteKeyW
RegDeleteValueA
RegDeleteValueW
RegEnumKeyA
RegEnumKeyExA
RegEnumKeyExW
RegEnumKeyW
RegEnumValueA
RegEnumValueW
RegFlushKey
RegGetKeySecurity
RegLoadKeyA
RegLoadKeyW
RegNotifyChangeKeyValue
RegOpenKeyA
RegOpenKeyExA
RegOpenKeyExW
RegOpenKeyW
RegQueryInfoKeyA
RegQueryInfoKeyW
RegQueryMultipleValuesA
RegQueryMultipleValuesW
RegQueryValueA
RegQueryValueExA
RegQueryValueExW
RegQueryValueW
RegSaveKeyA
RegSaveKeyW
RegSetValueA
RegSetValueExA
RegSetValueExW
RegSetValueW
ReportEventA
ReportEventW
SetKernelObjectSecurity
SetSecurityDescriptorDacl
SetSecurityDescriptorGroup
SetSecurityDescriptorOwner
SetSecurityDescriptorSacl
StartServiceA
StartServiceCtrlDispatcherA
StartServiceCtrlDispatcherW
StartServiceW

stubbed:

AbortSystemShutdownA
AbortSystemShutdownW
AccessCheckAndAuditAlarmA
AccessCheckAndAuditAlarmW
AddAuditAccessAce
BackupEventLogA
BackupEventLogW
ChangeServiceConfigA
ChangeServiceConfigW
ClearEventLogA
ClearEventLogW
CloseEventLog
ControlService
DeleteService
DeregisterEventSource
GetFileSecurityA
GetFileSecurityW
GetNumberOfEventLogRecords
GetOldestEventLogRecord
ImpersonateLoggedOnUser
LockServiceDatabase
LookupAccountNameA
LookupAccountNameW
LookupPrivilegeNameA
LookupPrivilegeNameW
NotifyBootConfigStatus
NotifyChangeEventLog
OpenBackupEventLogA
OpenBackupEventLogW
OpenEventLogA
OpenEventLogW
PrivilegeCheck
QueryServiceConfigA
QueryServiceConfigW
ReadEventLogA
ReadEventLogW
RegReplaceKeyA
RegReplaceKeyW
RegRestoreKeyA
RegRestoreKeyW
RegSetKeySecurity
RegUnLoadKeyA
RegUnLoadKeyW
RegisterEventSourceA
RegisterEventSourceW
RegisterServiceCtrlHandlerA
RegisterServiceCtrlHandlerW
RevertToSelf
SetFileSecurityA
SetFileSecurityW
SetServiceStatus
SetThreadToken
SetTokenInformation
UnlockServiceDatabase

semi-stub:
LookupAccountSidA
LookupAccountSidW
OpenSCManagerA
OpenSCManagerW
OpenServiceA
OpenServiceW
QueryServiceStatus

missing:

AdjustTokenGroups
AreAllAccessesGranted
CreatePrivateObjectSecurity
CreateProcessAsUserA
CreateProcessAsUserW
DestroyPrivateObjectSecurity
DuplicateToken
EnumDependentServicesA
EnumDependentServicesW
GetKernelObjectSecurity
GetPrivateObjectSecurity
GetServiceDisplayNameA
GetServiceDisplayNameW
GetServiceKeyNameA
GetServiceKeyNameW
ImpersonateNamedPipeClient
InitiateSystemShutdownA
InitiateSystemShutdownW
IsTextUnicode
LogonUserA
LogonUserW
LookupPrivilegeDisplayNameA
LookupPrivilegeDisplayNameW
MapGenericMask
ObjectCloseAuditAlarmA
ObjectCloseAuditAlarmW
ObjectOpenAuditAlarmA
ObjectOpenAuditAlarmW
ObjectPrivilegeAuditAlarmA
ObjectPrivilegeAuditAlarmW
PrivilegedServiceAuditAlarmA
PrivilegedServiceAuditAlarmW
QueryServiceLockStatusA
QueryServiceLockStatusW
QueryServiceObjectSecurity
RegRemapPreDefKey
SetAclInformation
SetPrivateObjectSecurity
SetServiceBits
SetServiceObjectSecurity

questionable:
EnumServicesStatusA
EnumServicesStatusW


More information about the wine-devel mailing list