Geoff Chappell, Software Analyst
The table below lists all the functions that are first exported from ADVAPI32 by name in version 4.0, i.e., for the original Windows 95 and for Windows NT 4.0.
Version 4.0 is complicated by its use for two operating systems. The Windows that runs on DOS came first and is referred to below as Windows. The Windows that survives today began as Windows NT and is referred to below as NT even though it has long superseded the other Windows. Most functions that were added for version 4.0 were for the NT stream only. A handful carried into the Windows stream for version 4.70. Most are at least exported from version 4.80. I have not checked whether any ever were documented as exports from Windows 98 or Windows Me, let alone whether any were implemented non-trivially in those Windows releases.
Function | Remarks |
---|---|
BuildAccessRequestA | NT only; discontinued in SP4 |
BuildAccessRequestW | NT only; discontinued in SP4 |
BuildExplicitAccessWithNameA | NT-only before 4.80 |
BuildExplicitAccessWithNameW | NT-only before 4.80 |
BuildImpersonateExplicitAccessWithNameA | NT-only before 4.80; documented as “provided for future use” in 1997, but obsolete by 1999 |
BuildImpersonateExplicitAccessWithNameW | NT-only before 4.80; documented as “provided for future use” in 1997, but obsolete by 1999 |
BuildImpersonateTrusteeA | NT-only before 4.80; documented as “provided for future use” in 1997, but obsolete by 1999 |
BuildImpersonateTrusteeW | NT-only before 4.80; documented as “provided for future use” in 1997, but obsolete by 1999 |
BuildSecurityDescriptorA | NT-only before 4.80 |
BuildSecurityDescriptorW | NT-only before 4.80 |
BuildTrusteeWithNameA | NT-only before 4.80 |
BuildTrusteeWithNameW | NT-only before 4.80 |
BuildTrusteeWithSidA | NT-only before 4.80 |
BuildTrusteeWithSidW | NT-only before 4.80 |
CancelOverlappedAccess | begins in SP4; NT-only before 4.80; documentation withdrawn in 1999-2000 |
ConvertAccessToSecurityDescriptorA | begins in SP4; NT-only before 4.80 |
ConvertAccessToSecurityDescriptorW | begins in SP4; NT-only before 4.80 |
ConvertSecurityDescriptorToAccessA | begins in SP4; NT-only before 4.80 |
ConvertSecurityDescriptorToAccessNamedA | begins in SP4; NT-only before 4.80 |
ConvertSecurityDescriptorToAccessNamedW | begins in SP4; NT-only before 4.80 |
ConvertSecurityDescriptorToAccessW | begins in SP4; NT-only before 4.80 |
CryptAcquireContextA | NT-only in 4.0; implemented as delay-load jump to CRYPTSP in 6.1 and higher |
CryptAcquireContextW | NT-only before 4.80; implemented as delay-load jump to CRYPTSP in 6.1 and higher |
CryptCreateHash | NT-only in 4.0; implemented as delay-load jump to CRYPTSP in 6.1 and higher |
CryptDecrypt | NT-only in 4.0; implemented as delay-load jump to CRYPTSP in 6.1 and higher |
CryptDeriveKey | NT-only in 4.0; implemented as delay-load jump to CRYPTSP in 6.1 and higher |
CryptDestroyHash | NT-only in 4.0; implemented as delay-load jump to CRYPTSP in 6.1 and higher |
CryptDestroyKey | NT-only in 4.0; implemented as delay-load jump to CRYPTSP in 6.1 and higher |
CryptEncrypt | NT-only in 4.0; implemented as delay-load jump to CRYPTSP in 6.1 and higher |
CryptExportKey | NT-only in 4.0; implemented as delay-load jump to CRYPTSP in 6.1 and higher |
CryptGenKey | NT-only in 4.0; implemented as delay-load jump to CRYPTSP in 6.1 and higher |
CryptGenRandom | NT-only in 4.0; implemented as delay-load jump to CRYPTSP in 6.1 and higher |
CryptGetHashParam | NT-only in 4.0; implemented as delay-load jump to CRYPTSP in 6.1 and higher |
CryptGetKeyParam | NT-only in 4.0; implemented as delay-load jump to CRYPTSP in 6.1 and higher |
CryptGetProvParam | NT-only in 4.0; implemented as delay-load jump to CRYPTSP in 6.1 and higher |
CryptGetUserKey | NT-only in 4.0; implemented as delay-load jump to CRYPTSP in 6.1 and higher |
CryptHashData | NT-only in 4.0; implemented as delay-load jump to CRYPTSP in 6.1 and higher |
CryptHashSessionKey | NT-only in 4.0; implemented as delay-load jump to CRYPTSP in 6.1 and higher |
CryptImportKey | NT-only in 4.0; implemented as delay-load jump to CRYPTSP in 6.1 and higher |
CryptReleaseContext | NT-only in 4.0; implemented as delay-load jump to CRYPTSP in 6.1 and higher |
CryptSetHashParam | NT-only in 4.0; implemented as delay-load jump to CRYPTSP in 6.1 and higher |
CryptSetKeyParam | NT-only in 4.0; implemented as delay-load jump to CRYPTSP in 6.1 and higher |
CryptSetProvParam | NT-only in 4.0; implemented as delay-load jump to CRYPTSP in 6.1 and higher |
CryptSetProviderA | NT-only in 4.0; implemented as delay-load jump to CRYPTSP in 6.1 and higher |
CryptSetProviderW | NT-only before 4.80; implemented as delay-load jump to CRYPTSP in 6.1 and higher |
CryptSignHashA | NT-only in 4.0; implemented as delay-load jump to CRYPTSP in 6.1 and higher |
CryptSignHashW | NT-only before 4.80; implemented as delay-load jump to CRYPTSP in 6.1 and higher |
CryptVerifySignatureA | NT-only in 4.0; implemented as delay-load jump to CRYPTSP in 6.1 and higher |
CryptVerifySignatureW | NT-only before 4.80; implemented as delay-load jump to CRYPTSP in 6.1 and higher |
DenyAccessRightsA | NT only; discontinued in SP4 |
DenyAccessRightsW | NT only; discontinued in SP4 |
DuplicateTokenEx | NT-only before 4.80; implemented as jump to API-MS-Win-Security-Base-L1-1-0 in 6.1 and higher |
EnumServiceGroupW | NT only |
EnumServicesStatusExA | begins in SP4; NT only; documented as requiring at least Windows 2000 |
EnumServicesStatusExW | begins in SP4; NT only; documented as requiring at least Windows 2000 |
GetAccessPermissionsForObjectA | begins in SP4; NT-only before 4.80 |
GetAccessPermissionsForObjectW | begins in SP4; NT-only before 4.80 |
GetAuditedPermissionsFromAclA | NT-only before 4.80 |
GetAuditedPermissionsFromAclW | NT-only before 4.80 |
GetAuditedPermissionsFromSDA | NT only; discontinued in SP4 |
GetAuditedPermissionsFromSDW | NT only; discontinued in SP4 |
GetCurrentHwProfileA | NT-only before 4.80 |
GetCurrentHwProfileW | NT-only before 4.80 |
GetEffectiveAccessRightsA | NT only; discontinued in SP4 |
GetEffectiveAccessRightsW | NT only; discontinued in SP4 |
GetEffectiveRightsFromAclA | NT-only before 4.80 |
GetEffectiveRightsFromAclW | NT-only before 4.80 |
GetEffectiveRightsFromSDA | NT only; discontinued in SP4 |
GetEffectiveRightsFromSDW | NT only; discontinued in SP4 |
GetExplicitAccessRightsA | NT only; discontinued in SP4 |
GetExplicitAccessRightsW | NT only; discontinued in SP4 |
GetExplicitEntriesFromAclA | NT-only before 4.80 |
GetExplicitEntriesFromAclW | NT-only before 4.80 |
GetMultipleTrusteeA | NT-only before 4.80; documented as “provided for future use” in 1997, but obsolete by 1999 |
GetMultipleTrusteeOperationA | NT-only before 4.80; documented as “provided for future use” in 1997, but obsolete by 1999 |
GetMultipleTrusteeOperationW | NT-only before 4.80; documented as “provided for future use” in 1997, but obsolete by 1999 |
GetMultipleTrusteeW | NT-only before 4.80; documented as “provided for future use” in 1997, but obsolete by 1999 |
GetNamedSecurityInfoA | NT-only before 4.80 |
GetNamedSecurityInfoW | NT-only before 4.80 |
GetNamedSecurityInfoExA | begins in SP4; NT-only before 4.80 |
GetNamedSecurityInfoExW | begins in SP4; NT-only before 4.80 |
GetOverlappedAccessResults | begins in SP4; NT-only before 4.80; documentation withdrawn in 1999-2000 |
GetSecurityInfo | NT-only before 4.80 |
GetSecurityInfoExA | begins in SP4; NT-only before 4.80 |
GetSecurityInfoExW | begins in SP4; NT-only before 4.80 |
GetTrusteeNameA | NT-only before 4.80 |
GetTrusteeNameW | NT-only before 4.80 |
GetTrusteeTypeA | NT-only before 4.80 |
GetTrusteeTypeW | NT-only before 4.80 |
GrantAccessRightsA | NT only; discontinued in SP4 |
GrantAccessRightsW | NT only; discontinued in SP4 |
I_ScGetCurrentGroupStateW | NT only |
IsAccessPermittedA | NT only; discontinued in SP4 |
IsAccessPermittedW | NT only; discontinued in SP4 |
LookupSecurityDescriptorPartsA | NT-only before 4.80 |
LookupSecurityDescriptorPartsW | NT-only before 4.80 |
LsaGetRemoteUserName | begins in SP4; NT only |
LsaGetUserName | NT only |
NTAccessMaskToProvAccessRights | NT only; discontinued in SP4 |
ObjectDeleteAuditAlarmA | NT-only before 4.80 |
ObjectDeleteAuditAlarmW | NT-only before 4.80; implemented as jump to API-MS-Win-Security-Base-L1-1-0 in 6.1 and higher |
ProvAccessRightsToNTAccessMask | NT only; discontinued in SP4 |
QueryServiceStatusEx | begins in SP4; NT only; implemented as jump to API-MS-WIN-Service-Management-L2-1-0 in 6.1 and higher; documented as requiring at least Windows 2000 |
RegRemapPreDefKey | Windows only; discontinued in 6.1 |
ReplaceAllAccessRightsA | NT only; discontinued in SP4 |
ReplaceAllAccessRightsW | NT only; discontinued in SP4 |
RevokeExplicitAccessRightsA | NT only; discontinued in SP4 |
RevokeExplicitAccessRightsW | NT only; discontinued in SP4 |
SetAccessRightsA | NT only; discontinued in SP4 |
SetAccessRightsW | NT only; discontinued in SP4 |
SetEntriesInAccessListA | begins in SP4; NT-only before 4.80 |
SetEntriesInAccessListW | begins in SP4; NT-only before 4.80 |
SetEntriesInAclA | NT-only before 4.80; documented as requiring at least Windows 2000 |
SetEntriesInAclW | NT-only before 4.80; documented as requiring at least Windows 2000 |
SetEntriesInAuditListA | begins in SP4; NT-only before 4.80 |
SetEntriesInAuditListW | begins in SP4; NT-only before 4.80 |
SetNamedSecurityInfoA | NT-only before 4.80 |
SetNamedSecurityInfoExA | begins in SP4; NT-only before 4.80 |
SetNamedSecurityInfoExW | begins in SP4; NT-only before 4.80 |
SetNamedSecurityInfoW | NT-only before 4.80 |
SetSecurityInfo | NT-only before 4.80 |
SetSecurityInfoExA | begins in SP4; NT-only before 4.80 |
SetSecurityInfoExW | begins in SP4; NT-only before 4.80 |
TrusteeAccessToObjectA | begins in SP4; NT-only before 4.80 |
TrusteeAccessToObjectW | begins in SP4; NT-only before 4.80 |