;
; ADVAPI32 API definitions for NASM.
;
; (C) G-RoM in 1999/2002

Extern _AbortSystemShutdownA@4
Extern _AbortSystemShutdownW@4
Extern _AccessCheck@32
Extern _AccessCheckAndAuditAlarmA@44
Extern _AccessCheckAndAuditAlarmW@44
Extern _AddAccessAllowedAce@16
Extern _AddAccessDeniedAce@16
Extern _AddAce@20
Extern _AddAuditAccessAce@24
Extern _AdjustTokenGroups@24
Extern _AdjustTokenPrivileges@24
Extern _AllocateAndInitializeSid@44
Extern _AllocateLocallyUniqueId@4
Extern _AreAllAccessesGranted@8
Extern _AreAnyAccessesGranted@8
Extern _BackupEventLogA@8
Extern _BackupEventLogW@8
Extern _BuildAccessRequestA@12
Extern _BuildAccessRequestW@12
Extern _BuildExplicitAccessWithNameA@20
Extern _BuildExplicitAccessWithNameW@20
Extern _BuildImpersonateExplicitAccessWithNameA@24
Extern _BuildImpersonateExplicitAccessWithNameW@24
Extern _BuildImpersonateTrusteeA@8
Extern _BuildImpersonateTrusteeW@8
Extern _BuildSecurityDescriptorA@36
Extern _BuildSecurityDescriptorW@36
Extern _BuildTrusteeWithNameA@8
Extern _BuildTrusteeWithNameW@8
Extern _BuildTrusteeWithSidA@8
Extern _BuildTrusteeWithSidW@8
Extern _ChangeServiceConfigA@44
Extern _ChangeServiceConfigW@44
Extern _ClearEventLogA@8
Extern _ClearEventLogW@8
Extern _CloseEventLog@4
Extern _CloseServiceHandle@4
Extern _ControlService@12
Extern _CopySid@12
Extern _CreatePrivateObjectSecurity@24
Extern _CreateProcessAsUserA@44
Extern _CreateProcessAsUserW@44
Extern _CreateServiceA@52
Extern _CreateServiceW@52
Extern _CryptAcquireContextA@20
Extern _CryptAcquireContextW@20
Extern _CryptCreateHash@20
Extern _CryptDecrypt@24
Extern _CryptDeriveKey@20
Extern _CryptDestroyHash@4
Extern _CryptDestroyKey@4
Extern _CryptEncrypt@28
Extern _CryptExportKey@24
Extern _CryptGenKey@16
Extern _CryptGenRandom@12
Extern _CryptGetHashParam@20
Extern _CryptGetKeyParam@20
Extern _CryptGetProvParam@20
Extern _CryptGetUserKey@12
Extern _CryptHashData@16
Extern _CryptHashSessionKey@12
Extern _CryptImportKey@24
Extern _CryptReleaseContext@8
Extern _CryptSetHashParam@16
Extern _CryptSetKeyParam@16
Extern _CryptSetProvParam@16
Extern _CryptSetProviderA@8
Extern _CryptSetProviderW@8
Extern _CryptSignHashA@24
Extern _CryptSignHashW@24
Extern _CryptVerifySignatureA@24
Extern _CryptVerifySignatureW@24
Extern _DeleteAce@8
Extern _DeleteService@4
Extern _DenyAccessRightsA@16
Extern _DenyAccessRightsW@16
Extern _DeregisterEventSource@4
Extern _DestroyPrivateObjectSecurity@4
Extern _DuplicateToken@12
Extern _DuplicateTokenEx@24
Extern _ElfBackupEventLogFileA@8
Extern _ElfBackupEventLogFileW@8
Extern _ElfChangeNotify@8
Extern _ElfClearEventLogFileA@8
Extern _ElfClearEventLogFileW@8
Extern _ElfCloseEventLog@4
Extern _ElfDeregisterEventSource@4
Extern _ElfNumberOfRecords@8
Extern _ElfOldestRecord@8
Extern _ElfOpenBackupEventLogA@12
Extern _ElfOpenBackupEventLogW@12
Extern _ElfOpenEventLogA@12
Extern _ElfOpenEventLogW@12
Extern _ElfReadEventLogA@28
Extern _ElfReadEventLogW@28
Extern _ElfRegisterEventSourceA@12
Extern _ElfRegisterEventSourceW@12
Extern _ElfReportEventA@48
Extern _ElfReportEventW@48
Extern _EnumDependentServicesA@24
Extern _EnumDependentServicesW@24
Extern _EnumServiceGroupW@36
Extern _EnumServicesStatusA@32
Extern _EnumServicesStatusW@32
Extern _EqualPrefixSid@8
Extern _EqualSid@8
Extern _FindFirstFreeAce@8
Extern _FreeSid@4
Extern _GetAce@12
Extern _GetAclInformation@16
Extern _GetAuditedPermissionsFromAclA@16
Extern _GetAuditedPermissionsFromAclW@16
Extern _GetAuditedPermissionsFromSDA@16
Extern _GetAuditedPermissionsFromSDW@16
Extern _GetCurrentHwProfileA@4
Extern _GetCurrentHwProfileW@4
Extern _GetEffectiveAccessRightsA@16
Extern _GetEffectiveAccessRightsW@16
Extern _GetEffectiveRightsFromAclA@12
Extern _GetEffectiveRightsFromAclW@12
Extern _GetEffectiveRightsFromSDA@12
Extern _GetEffectiveRightsFromSDW@12
Extern _GetExplicitAccessRightsA@16
Extern _GetExplicitAccessRightsW@16
Extern _GetExplicitEntriesFromAclA@12
Extern _GetExplicitEntriesFromAclW@12
Extern _GetFileSecurityA@20
Extern _GetFileSecurityW@20
Extern _GetKernelObjectSecurity@20
Extern _GetLengthSid@4
Extern _GetMultipleTrusteeA@4
Extern _GetMultipleTrusteeOperationA@4
Extern _GetMultipleTrusteeOperationW@4
Extern _GetMultipleTrusteeW@4
Extern _GetNamedSecurityInfoA@32
Extern _GetNamedSecurityInfoW@32
Extern _GetNumberOfEventLogRecords@8
Extern _GetOldestEventLogRecord@8
Extern _GetPrivateObjectSecurity@20
Extern _GetSecurityDescriptorControl@12
Extern _GetSecurityDescriptorDacl@16
Extern _GetSecurityDescriptorGroup@12
Extern _GetSecurityDescriptorLength@4
Extern _GetSecurityDescriptorOwner@12
Extern _GetSecurityDescriptorSacl@16
Extern _GetSecurityInfo@32
Extern _GetServiceDisplayNameA@16
Extern _GetServiceDisplayNameW@16
Extern _GetServiceKeyNameA@16
Extern _GetServiceKeyNameW@16
Extern _GetSidIdentifierAuthority@4
Extern _GetSidLengthRequired@4
Extern _GetSidSubAuthority@8
Extern _GetSidSubAuthorityCount@4
Extern _GetTokenInformation@20
Extern _GetTrusteeNameA@4
Extern _GetTrusteeNameW@4
Extern _GetTrusteeTypeA@4
Extern _GetTrusteeTypeW@4
Extern _GetUserNameA@8
Extern _GetUserNameW@8
Extern _GrantAccessRightsA@16
Extern _GrantAccessRightsW@16
Extern _I_ScGetCurrentGroupStateW@12
Extern _I_ScSetServiceBitsA@20
Extern _I_ScSetServiceBitsW@20
Extern _ImpersonateLoggedOnUser@4
Extern _ImpersonateNamedPipeClient@4
Extern _ImpersonateSelf@4
Extern _InitializeAcl@12
Extern _InitializeSecurityDescriptor@8
Extern _InitializeSid@12
Extern _InitiateSystemShutdownA@20
Extern _InitiateSystemShutdownW@20
Extern _IsAccessPermittedA@20
Extern _IsAccessPermittedW@20
Extern _IsTextUnicode@12
Extern _IsValidAcl@4
Extern _IsValidSecurityDescriptor@4
Extern _IsValidSid@4
Extern _LockServiceDatabase@4
Extern _LogonUserA@24
Extern _LogonUserW@24
Extern _LookupAccountNameA@28
Extern _LookupAccountNameW@28
Extern _LookupAccountSidA@28
Extern _LookupAccountSidW@28
Extern _LookupPrivilegeDisplayNameA@20
Extern _LookupPrivilegeDisplayNameW@20
Extern _LookupPrivilegeNameA@16
Extern _LookupPrivilegeNameW@16
Extern _LookupPrivilegeValueA@12
Extern _LookupPrivilegeValueW@12
Extern _LookupSecurityDescriptorPartsA@28
Extern _LookupSecurityDescriptorPartsW@28
Extern _LsaAddAccountRights@16
Extern _LsaAddPrivilegesToAccount@8
Extern _LsaClearAuditLog@4
Extern _LsaClose@4
Extern _LsaCreateAccount@16
Extern _LsaCreateSecret@16
Extern _LsaCreateTrustedDomain@16
Extern _LsaDelete@4
Extern _LsaDeleteTrustedDomain@8
Extern _LsaEnumerateAccountRights@16
Extern _LsaEnumerateAccounts@20
Extern _LsaEnumerateAccountsWithUserRight@16
Extern _LsaEnumeratePrivileges@20
Extern _LsaEnumeratePrivilegesOfAccount@8
Extern _LsaEnumerateTrustedDomains@20
Extern _LsaFreeMemory@4
Extern _LsaGetQuotasForAccount@8
Extern _LsaGetSystemAccessAccount@8
Extern _LsaGetUserName@8
Extern _LsaICLookupNames@28
Extern _LsaICLookupSids@28
Extern _LsaLookupNames@20
Extern _LsaLookupPrivilegeDisplayName@16
Extern _LsaLookupPrivilegeName@12
Extern _LsaLookupPrivilegeValue@12
Extern _LsaLookupSids@20
Extern _LsaNtStatusToWinError@4
Extern _LsaOpenAccount@16
Extern _LsaOpenPolicy@16
Extern _LsaOpenSecret@16
Extern _LsaOpenTrustedDomain@16
Extern _LsaQueryInfoTrustedDomain@12
Extern _LsaQueryInformationPolicy@12
Extern _LsaQuerySecret@20
Extern _LsaQuerySecurityObject@12
Extern _LsaQueryTrustedDomainInfo@16
Extern _LsaRemoveAccountRights@20
Extern _LsaRemovePrivilegesFromAccount@12
Extern _LsaRetrievePrivateData@12
Extern _LsaSetInformationPolicy@12
Extern _LsaSetInformationTrustedDomain@12
Extern _LsaSetQuotasForAccount@8
Extern _LsaSetSecret@12
Extern _LsaSetSecurityObject@12
Extern _LsaSetSystemAccessAccount@8
Extern _LsaSetTrustedDomainInformation@16
Extern _LsaStorePrivateData@12
Extern _MakeAbsoluteSD@44
Extern _MakeSelfRelativeSD@12
Extern _MapGenericMask@8
Extern _NTAccessMaskToProvAccessRights@12
Extern _NotifyBootConfigStatus@4
Extern _NotifyChangeEventLog@8
Extern _ObjectCloseAuditAlarmA@12
Extern _ObjectCloseAuditAlarmW@12
Extern _ObjectDeleteAuditAlarmA@12
Extern _ObjectDeleteAuditAlarmW@12
Extern _ObjectOpenAuditAlarmA@48
Extern _ObjectOpenAuditAlarmW@48
Extern _ObjectPrivilegeAuditAlarmA@24
Extern _ObjectPrivilegeAuditAlarmW@24
Extern _OpenBackupEventLogA@8
Extern _OpenBackupEventLogW@8
Extern _OpenEventLogA@8
Extern _OpenEventLogW@8
Extern _OpenProcessToken@12
Extern _OpenSCManagerA@12
Extern _OpenSCManagerW@12
Extern _OpenServiceA@12
Extern _OpenServiceW@12
Extern _OpenThreadToken@16
Extern _PrivilegeCheck@12
Extern _PrivilegedServiceAuditAlarmA@20
Extern _PrivilegedServiceAuditAlarmW@20
Extern _ProvAccessRightsToNTAccessMask@8
Extern _QueryServiceConfigA@16
Extern _QueryServiceConfigW@16
Extern _QueryServiceLockStatusA@16
Extern _QueryServiceLockStatusW@16
Extern _QueryServiceObjectSecurity@20
Extern _QueryServiceStatus@8
Extern _QueryWindows31FilesMigration@4
Extern _ReadEventLogA@28
Extern _ReadEventLogW@28
Extern _RegCloseKey@4
Extern _RegConnectRegistryA@12
Extern _RegConnectRegistryW@12
Extern _RegCreateKeyA@12
Extern _RegCreateKeyExA@36
Extern _RegCreateKeyExW@36
Extern _RegCreateKeyW@12
Extern _RegDeleteKeyA@8
Extern _RegDeleteKeyW@8
Extern _RegDeleteValueA@8
Extern _RegDeleteValueW@8
Extern _RegEnumKeyA@16
Extern _RegEnumKeyExA@32
Extern _RegEnumKeyExW@32
Extern _RegEnumKeyW@16
Extern _RegEnumValueA@32
Extern _RegEnumValueW@32
Extern _RegFlushKey@4
Extern _RegGetKeySecurity@16
Extern _RegLoadKeyA@12
Extern _RegLoadKeyW@12
Extern _RegNotifyChangeKeyValue@20
Extern _RegOpenKeyA@12
Extern _RegOpenKeyExA@20
Extern _RegOpenKeyExW@20
Extern _RegOpenKeyW@12
Extern _RegQueryInfoKeyA@48
Extern _RegQueryInfoKeyW@48
Extern _RegQueryMultipleValuesA@20
Extern _RegQueryMultipleValuesW@20
Extern _RegQueryValueA@16
Extern _RegQueryValueExA@24
Extern _RegQueryValueExW@24
Extern _RegQueryValueW@16
Extern _RegReplaceKeyA@16
Extern _RegReplaceKeyW@16
Extern _RegRestoreKeyA@12
Extern _RegRestoreKeyW@12
Extern _RegSaveKeyA@12
Extern _RegSaveKeyW@12
Extern _RegSetKeySecurity@12
Extern _RegSetValueA@20
Extern _RegSetValueExA@24
Extern _RegSetValueExW@24
Extern _RegSetValueW@20
Extern _RegUnLoadKeyA@8
Extern _RegUnLoadKeyW@8
Extern _RegisterEventSourceA@8
Extern _RegisterEventSourceW@8
Extern _RegisterServiceCtrlHandlerA@8
Extern _RegisterServiceCtrlHandlerW@8
Extern _ReplaceAllAccessRightsA@16
Extern _ReplaceAllAccessRightsW@16
Extern _ReportEventA@36
Extern _ReportEventW@36
Extern _RevertToSelf@0
Extern _RevokeExplicitAccessRightsA@16
Extern _RevokeExplicitAccessRightsW@16
Extern _SetAccessRightsA@16
Extern _SetAccessRightsW@16
Extern _SetAclInformation@16
Extern _SetEntriesInAclA@16
Extern _SetEntriesInAclW@16
Extern _SetFileSecurityA@12
Extern _SetFileSecurityW@12
Extern _SetKernelObjectSecurity@12
Extern _SetNamedSecurityInfoA@28
Extern _SetNamedSecurityInfoW@28
Extern _SetPrivateObjectSecurity@20
Extern _SetSecurityDescriptorDacl@16
Extern _SetSecurityDescriptorGroup@12
Extern _SetSecurityDescriptorOwner@12
Extern _SetSecurityDescriptorSacl@16
Extern _SetSecurityInfo@28
Extern _SetServiceBits@16
Extern _SetServiceObjectSecurity@12
Extern _SetServiceStatus@8
Extern _SetThreadToken@8
Extern _SetTokenInformation@16
Extern _StartServiceA@12
Extern _StartServiceCtrlDispatcherA@4
Extern _StartServiceCtrlDispatcherW@4
Extern _StartServiceW@12
Extern _SynchronizeWindows31FilesAndWindowsNTRegistry@16
Extern _SystemFunction001@12
Extern _SystemFunction002@12
Extern _SystemFunction003@8
Extern _SystemFunction004@12
Extern _SystemFunction005@12
Extern _SystemFunction006@8
Extern _SystemFunction007@8
Extern _SystemFunction008@12
Extern _SystemFunction009@12
Extern _SystemFunction010@12
Extern _SystemFunction011@12
Extern _SystemFunction012@12
Extern _SystemFunction013@12
Extern _SystemFunction014@12
Extern _SystemFunction015@12
Extern _SystemFunction016@12
Extern _SystemFunction017@12
Extern _SystemFunction018@12
Extern _SystemFunction019@12
Extern _SystemFunction020@12
Extern _SystemFunction021@12
Extern _SystemFunction022@12
Extern _SystemFunction023@12
Extern _SystemFunction024@12
Extern _SystemFunction025@12
Extern _SystemFunction026@12
Extern _SystemFunction027@12
Extern _SystemFunction028@8
Extern _SystemFunction029@8
Extern _SystemFunction030@8
Extern _SystemFunction031@8
Extern _SystemFunction032@8
Extern _SystemFunction033@8
Extern _UnlockServiceDatabase@4

%define AbortSystemShutdownA                            _AbortSystemShutdownA@4
%define AbortSystemShutdownW                            _AbortSystemShutdownW@4
%define AccessCheck                                     _AccessCheck@32
%define AccessCheckAndAuditAlarmA                       _AccessCheckAndAuditAlarmA@44
%define AccessCheckAndAuditAlarmW                       _AccessCheckAndAuditAlarmW@44
%define AddAccessAllowedAce                             _AddAccessAllowedAce@16
%define AddAccessDeniedAce                              _AddAccessDeniedAce@16
%define AddAce                                          _AddAce@20
%define AddAuditAccessAce                               _AddAuditAccessAce@24
%define AdjustTokenGroups                               _AdjustTokenGroups@24
%define AdjustTokenPrivileges                           _AdjustTokenPrivileges@24
%define AllocateAndInitializeSid                        _AllocateAndInitializeSid@44
%define AllocateLocallyUniqueId                         _AllocateLocallyUniqueId@4
%define AreAllAccessesGranted                           _AreAllAccessesGranted@8
%define AreAnyAccessesGranted                           _AreAnyAccessesGranted@8
%define BackupEventLogA                                 _BackupEventLogA@8
%define BackupEventLogW                                 _BackupEventLogW@8
%define BuildAccessRequestA                             _BuildAccessRequestA@12
%define BuildAccessRequestW                             _BuildAccessRequestW@12
%define BuildExplicitAccessWithNameA                    _BuildExplicitAccessWithNameA@20
%define BuildExplicitAccessWithNameW                    _BuildExplicitAccessWithNameW@20
%define BuildImpersonateExplicitAccessWithNameA         _BuildImpersonateExplicitAccessWithNameA@24
%define BuildImpersonateExplicitAccessWithNameW         _BuildImpersonateExplicitAccessWithNameW@24
%define BuildImpersonateTrusteeA                        _BuildImpersonateTrusteeA@8
%define BuildImpersonateTrusteeW                        _BuildImpersonateTrusteeW@8
%define BuildSecurityDescriptorA                        _BuildSecurityDescriptorA@36
%define BuildSecurityDescriptorW                        _BuildSecurityDescriptorW@36
%define BuildTrusteeWithNameA                           _BuildTrusteeWithNameA@8
%define BuildTrusteeWithNameW                           _BuildTrusteeWithNameW@8
%define BuildTrusteeWithSidA                            _BuildTrusteeWithSidA@8
%define BuildTrusteeWithSidW                            _BuildTrusteeWithSidW@8
%define ChangeServiceConfigA                            _ChangeServiceConfigA@44
%define ChangeServiceConfigW                            _ChangeServiceConfigW@44
%define ClearEventLogA                                  _ClearEventLogA@8
%define ClearEventLogW                                  _ClearEventLogW@8
%define CloseEventLog                                   _CloseEventLog@4
%define CloseServiceHandle                              _CloseServiceHandle@4
%define ControlService                                  _ControlService@12
%define CopySid                                         _CopySid@12
%define CreatePrivateObjectSecurity                     _CreatePrivateObjectSecurity@24
%define CreateProcessAsUserA                            _CreateProcessAsUserA@44
%define CreateProcessAsUserW                            _CreateProcessAsUserW@44
%define CreateServiceA                                  _CreateServiceA@52
%define CreateServiceW                                  _CreateServiceW@52
%define CryptAcquireContextA                            _CryptAcquireContextA@20
%define CryptAcquireContextW                            _CryptAcquireContextW@20
%define CryptCreateHash                                 _CryptCreateHash@20
%define CryptDecrypt                                    _CryptDecrypt@24
%define CryptDeriveKey                                  _CryptDeriveKey@20
%define CryptDestroyHash                                _CryptDestroyHash@4
%define CryptDestroyKey                                 _CryptDestroyKey@4
%define CryptEncrypt                                    _CryptEncrypt@28
%define CryptExportKey                                  _CryptExportKey@24
%define CryptGenKey                                     _CryptGenKey@16
%define CryptGenRandom                                  _CryptGenRandom@12
%define CryptGetHashParam                               _CryptGetHashParam@20
%define CryptGetKeyParam                                _CryptGetKeyParam@20
%define CryptGetProvParam                               _CryptGetProvParam@20
%define CryptGetUserKey                                 _CryptGetUserKey@12
%define CryptHashData                                   _CryptHashData@16
%define CryptHashSessionKey                             _CryptHashSessionKey@12
%define CryptImportKey                                  _CryptImportKey@24
%define CryptReleaseContext                             _CryptReleaseContext@8
%define CryptSetHashParam                               _CryptSetHashParam@16
%define CryptSetKeyParam                                _CryptSetKeyParam@16
%define CryptSetProvParam                               _CryptSetProvParam@16
%define CryptSetProviderA                               _CryptSetProviderA@8
%define CryptSetProviderW                               _CryptSetProviderW@8
%define CryptSignHashA                                  _CryptSignHashA@24
%define CryptSignHashW                                  _CryptSignHashW@24
%define CryptVerifySignatureA                           _CryptVerifySignatureA@24
%define CryptVerifySignatureW                           _CryptVerifySignatureW@24
%define DeleteAce                                       _DeleteAce@8
%define DeleteService                                   _DeleteService@4
%define DenyAccessRightsA                               _DenyAccessRightsA@16
%define DenyAccessRightsW                               _DenyAccessRightsW@16
%define DeregisterEventSource                           _DeregisterEventSource@4
%define DestroyPrivateObjectSecurity                    _DestroyPrivateObjectSecurity@4
%define DuplicateToken                                  _DuplicateToken@12
%define DuplicateTokenEx                                _DuplicateTokenEx@24
%define ElfBackupEventLogFileA                          _ElfBackupEventLogFileA@8
%define ElfBackupEventLogFileW                          _ElfBackupEventLogFileW@8
%define ElfChangeNotify                                 _ElfChangeNotify@8
%define ElfClearEventLogFileA                           _ElfClearEventLogFileA@8
%define ElfClearEventLogFileW                           _ElfClearEventLogFileW@8
%define ElfCloseEventLog                                _ElfCloseEventLog@4
%define ElfDeregisterEventSource                        _ElfDeregisterEventSource@4
%define ElfNumberOfRecords                              _ElfNumberOfRecords@8
%define ElfOldestRecord                                 _ElfOldestRecord@8
%define ElfOpenBackupEventLogA                          _ElfOpenBackupEventLogA@12
%define ElfOpenBackupEventLogW                          _ElfOpenBackupEventLogW@12
%define ElfOpenEventLogA                                _ElfOpenEventLogA@12
%define ElfOpenEventLogW                                _ElfOpenEventLogW@12
%define ElfReadEventLogA                                _ElfReadEventLogA@28
%define ElfReadEventLogW                                _ElfReadEventLogW@28
%define ElfRegisterEventSourceA                         _ElfRegisterEventSourceA@12
%define ElfRegisterEventSourceW                         _ElfRegisterEventSourceW@12
%define ElfReportEventA                                 _ElfReportEventA@48
%define ElfReportEventW                                 _ElfReportEventW@48
%define EnumDependentServicesA                          _EnumDependentServicesA@24
%define EnumDependentServicesW                          _EnumDependentServicesW@24
%define EnumServiceGroupW                               _EnumServiceGroupW@36
%define EnumServicesStatusA                             _EnumServicesStatusA@32
%define EnumServicesStatusW                             _EnumServicesStatusW@32
%define EqualPrefixSid                                  _EqualPrefixSid@8
%define EqualSid                                        _EqualSid@8
%define FindFirstFreeAce                                _FindFirstFreeAce@8
%define FreeSid                                         _FreeSid@4
%define GetAce                                          _GetAce@12
%define GetAclInformation                               _GetAclInformation@16
%define GetAuditedPermissionsFromAclA                   _GetAuditedPermissionsFromAclA@16
%define GetAuditedPermissionsFromAclW                   _GetAuditedPermissionsFromAclW@16
%define GetAuditedPermissionsFromSDA                    _GetAuditedPermissionsFromSDA@16
%define GetAuditedPermissionsFromSDW                    _GetAuditedPermissionsFromSDW@16
%define GetCurrentHwProfileA                            _GetCurrentHwProfileA@4
%define GetCurrentHwProfileW                            _GetCurrentHwProfileW@4
%define GetEffectiveAccessRightsA                       _GetEffectiveAccessRightsA@16
%define GetEffectiveAccessRightsW                       _GetEffectiveAccessRightsW@16
%define GetEffectiveRightsFromAclA                      _GetEffectiveRightsFromAclA@12
%define GetEffectiveRightsFromAclW                      _GetEffectiveRightsFromAclW@12
%define GetEffectiveRightsFromSDA                       _GetEffectiveRightsFromSDA@12
%define GetEffectiveRightsFromSDW                       _GetEffectiveRightsFromSDW@12
%define GetExplicitAccessRightsA                        _GetExplicitAccessRightsA@16
%define GetExplicitAccessRightsW                        _GetExplicitAccessRightsW@16
%define GetExplicitEntriesFromAclA                      _GetExplicitEntriesFromAclA@12
%define GetExplicitEntriesFromAclW                      _GetExplicitEntriesFromAclW@12
%define GetFileSecurityA                                _GetFileSecurityA@20
%define GetFileSecurityW                                _GetFileSecurityW@20
%define GetKernelObjectSecurity                         _GetKernelObjectSecurity@20
%define GetLengthSid                                    _GetLengthSid@4
%define GetMultipleTrusteeA                             _GetMultipleTrusteeA@4
%define GetMultipleTrusteeOperationA                    _GetMultipleTrusteeOperationA@4
%define GetMultipleTrusteeOperationW                    _GetMultipleTrusteeOperationW@4
%define GetMultipleTrusteeW                             _GetMultipleTrusteeW@4
%define GetNamedSecurityInfoA                           _GetNamedSecurityInfoA@32
%define GetNamedSecurityInfoW                           _GetNamedSecurityInfoW@32
%define GetNumberOfEventLogRecords                      _GetNumberOfEventLogRecords@8
%define GetOldestEventLogRecord                         _GetOldestEventLogRecord@8
%define GetPrivateObjectSecurity                        _GetPrivateObjectSecurity@20
%define GetSecurityDescriptorControl                    _GetSecurityDescriptorControl@12
%define GetSecurityDescriptorDacl                       _GetSecurityDescriptorDacl@16
%define GetSecurityDescriptorGroup                      _GetSecurityDescriptorGroup@12
%define GetSecurityDescriptorLength                     _GetSecurityDescriptorLength@4
%define GetSecurityDescriptorOwner                      _GetSecurityDescriptorOwner@12
%define GetSecurityDescriptorSacl                       _GetSecurityDescriptorSacl@16
%define GetSecurityInfo                                 _GetSecurityInfo@32
%define GetServiceDisplayNameA                          _GetServiceDisplayNameA@16
%define GetServiceDisplayNameW                          _GetServiceDisplayNameW@16
%define GetServiceKeyNameA                              _GetServiceKeyNameA@16
%define GetServiceKeyNameW                              _GetServiceKeyNameW@16
%define GetSidIdentifierAuthority                       _GetSidIdentifierAuthority@4
%define GetSidLengthRequired                            _GetSidLengthRequired@4
%define GetSidSubAuthority                              _GetSidSubAuthority@8
%define GetSidSubAuthorityCount                         _GetSidSubAuthorityCount@4
%define GetTokenInformation                             _GetTokenInformation@20
%define GetTrusteeNameA                                 _GetTrusteeNameA@4
%define GetTrusteeNameW                                 _GetTrusteeNameW@4
%define GetTrusteeTypeA                                 _GetTrusteeTypeA@4
%define GetTrusteeTypeW                                 _GetTrusteeTypeW@4
%define GetUserNameA                                    _GetUserNameA@8
%define GetUserNameW                                    _GetUserNameW@8
%define GrantAccessRightsA                              _GrantAccessRightsA@16
%define GrantAccessRightsW                              _GrantAccessRightsW@16
%define I_ScGetCurrentGroupStateW                       _I_ScGetCurrentGroupStateW@12
%define I_ScSetServiceBitsA                             _I_ScSetServiceBitsA@20
%define I_ScSetServiceBitsW                             _I_ScSetServiceBitsW@20
%define ImpersonateLoggedOnUser                         _ImpersonateLoggedOnUser@4
%define ImpersonateNamedPipeClient                      _ImpersonateNamedPipeClient@4
%define ImpersonateSelf                                 _ImpersonateSelf@4
%define InitializeAcl                                   _InitializeAcl@12
%define InitializeSecurityDescriptor                    _InitializeSecurityDescriptor@8
%define InitializeSid                                   _InitializeSid@12
%define InitiateSystemShutdownA                         _InitiateSystemShutdownA@20
%define InitiateSystemShutdownW                         _InitiateSystemShutdownW@20
%define IsAccessPermittedA                              _IsAccessPermittedA@20
%define IsAccessPermittedW                              _IsAccessPermittedW@20
%define IsTextUnicode                                   _IsTextUnicode@12
%define IsValidAcl                                      _IsValidAcl@4
%define IsValidSecurityDescriptor                       _IsValidSecurityDescriptor@4
%define IsValidSid                                      _IsValidSid@4
%define LockServiceDatabase                             _LockServiceDatabase@4
%define LogonUserA                                      _LogonUserA@24
%define LogonUserW                                      _LogonUserW@24
%define LookupAccountNameA                              _LookupAccountNameA@28
%define LookupAccountNameW                              _LookupAccountNameW@28
%define LookupAccountSidA                               _LookupAccountSidA@28
%define LookupAccountSidW                               _LookupAccountSidW@28
%define LookupPrivilegeDisplayNameA                     _LookupPrivilegeDisplayNameA@20
%define LookupPrivilegeDisplayNameW                     _LookupPrivilegeDisplayNameW@20
%define LookupPrivilegeNameA                            _LookupPrivilegeNameA@16
%define LookupPrivilegeNameW                            _LookupPrivilegeNameW@16
%define LookupPrivilegeValueA                           _LookupPrivilegeValueA@12
%define LookupPrivilegeValueW                           _LookupPrivilegeValueW@12
%define LookupSecurityDescriptorPartsA                  _LookupSecurityDescriptorPartsA@28
%define LookupSecurityDescriptorPartsW                  _LookupSecurityDescriptorPartsW@28
%define LsaAddAccountRights                             _LsaAddAccountRights@16
%define LsaAddPrivilegesToAccount                       _LsaAddPrivilegesToAccount@8
%define LsaClearAuditLog                                _LsaClearAuditLog@4
%define LsaClose                                        _LsaClose@4
%define LsaCreateAccount                                _LsaCreateAccount@16
%define LsaCreateSecret                                 _LsaCreateSecret@16
%define LsaCreateTrustedDomain                          _LsaCreateTrustedDomain@16
%define LsaDelete                                       _LsaDelete@4
%define LsaDeleteTrustedDomain                          _LsaDeleteTrustedDomain@8
%define LsaEnumerateAccountRights                       _LsaEnumerateAccountRights@16
%define LsaEnumerateAccounts                            _LsaEnumerateAccounts@20
%define LsaEnumerateAccountsWithUserRight               _LsaEnumerateAccountsWithUserRight@16
%define LsaEnumeratePrivileges                          _LsaEnumeratePrivileges@20
%define LsaEnumeratePrivilegesOfAccount                 _LsaEnumeratePrivilegesOfAccount@8
%define LsaEnumerateTrustedDomains                      _LsaEnumerateTrustedDomains@20
%define LsaFreeMemory                                   _LsaFreeMemory@4
%define LsaGetQuotasForAccount                          _LsaGetQuotasForAccount@8
%define LsaGetSystemAccessAccount                       _LsaGetSystemAccessAccount@8
%define LsaGetUserName                                  _LsaGetUserName@8
%define LsaICLookupNames                                _LsaICLookupNames@28
%define LsaICLookupSids                                 _LsaICLookupSids@28
%define LsaLookupNames                                  _LsaLookupNames@20
%define LsaLookupPrivilegeDisplayName                   _LsaLookupPrivilegeDisplayName@16
%define LsaLookupPrivilegeName                          _LsaLookupPrivilegeName@12
%define LsaLookupPrivilegeValue                         _LsaLookupPrivilegeValue@12
%define LsaLookupSids                                   _LsaLookupSids@20
%define LsaNtStatusToWinError                           _LsaNtStatusToWinError@4
%define LsaOpenAccount                                  _LsaOpenAccount@16
%define LsaOpenPolicy                                   _LsaOpenPolicy@16
%define LsaOpenSecret                                   _LsaOpenSecret@16
%define LsaOpenTrustedDomain                            _LsaOpenTrustedDomain@16
%define LsaQueryInfoTrustedDomain                       _LsaQueryInfoTrustedDomain@12
%define LsaQueryInformationPolicy                       _LsaQueryInformationPolicy@12
%define LsaQuerySecret                                  _LsaQuerySecret@20
%define LsaQuerySecurityObject                          _LsaQuerySecurityObject@12
%define LsaQueryTrustedDomainInfo                       _LsaQueryTrustedDomainInfo@16
%define LsaRemoveAccountRights                          _LsaRemoveAccountRights@20
%define LsaRemovePrivilegesFromAccount                  _LsaRemovePrivilegesFromAccount@12
%define LsaRetrievePrivateData                          _LsaRetrievePrivateData@12
%define LsaSetInformationPolicy                         _LsaSetInformationPolicy@12
%define LsaSetInformationTrustedDomain                  _LsaSetInformationTrustedDomain@12
%define LsaSetQuotasForAccount                          _LsaSetQuotasForAccount@8
%define LsaSetSecret                                    _LsaSetSecret@12
%define LsaSetSecurityObject                            _LsaSetSecurityObject@12
%define LsaSetSystemAccessAccount                       _LsaSetSystemAccessAccount@8
%define LsaSetTrustedDomainInformation                  _LsaSetTrustedDomainInformation@16
%define LsaStorePrivateData                             _LsaStorePrivateData@12
%define MakeAbsoluteSD                                  _MakeAbsoluteSD@44
%define MakeSelfRelativeSD                              _MakeSelfRelativeSD@12
%define MapGenericMask                                  _MapGenericMask@8
%define NTAccessMaskToProvAccessRights                  _NTAccessMaskToProvAccessRights@12
%define NotifyBootConfigStatus                          _NotifyBootConfigStatus@4
%define NotifyChangeEventLog                            _NotifyChangeEventLog@8
%define ObjectCloseAuditAlarmA                          _ObjectCloseAuditAlarmA@12
%define ObjectCloseAuditAlarmW                          _ObjectCloseAuditAlarmW@12
%define ObjectDeleteAuditAlarmA                         _ObjectDeleteAuditAlarmA@12
%define ObjectDeleteAuditAlarmW                         _ObjectDeleteAuditAlarmW@12
%define ObjectOpenAuditAlarmA                           _ObjectOpenAuditAlarmA@48
%define ObjectOpenAuditAlarmW                           _ObjectOpenAuditAlarmW@48
%define ObjectPrivilegeAuditAlarmA                      _ObjectPrivilegeAuditAlarmA@24
%define ObjectPrivilegeAuditAlarmW                      _ObjectPrivilegeAuditAlarmW@24
%define OpenBackupEventLogA                             _OpenBackupEventLogA@8
%define OpenBackupEventLogW                             _OpenBackupEventLogW@8
%define OpenEventLogA                                   _OpenEventLogA@8
%define OpenEventLogW                                   _OpenEventLogW@8
%define OpenProcessToken                                _OpenProcessToken@12
%define OpenSCManagerA                                  _OpenSCManagerA@12
%define OpenSCManagerW                                  _OpenSCManagerW@12
%define OpenServiceA                                    _OpenServiceA@12
%define OpenServiceW                                    _OpenServiceW@12
%define OpenThreadToken                                 _OpenThreadToken@16
%define PrivilegeCheck                                  _PrivilegeCheck@12
%define PrivilegedServiceAuditAlarmA                    _PrivilegedServiceAuditAlarmA@20
%define PrivilegedServiceAuditAlarmW                    _PrivilegedServiceAuditAlarmW@20
%define ProvAccessRightsToNTAccessMask                  _ProvAccessRightsToNTAccessMask@8
%define QueryServiceConfigA                             _QueryServiceConfigA@16
%define QueryServiceConfigW                             _QueryServiceConfigW@16
%define QueryServiceLockStatusA                         _QueryServiceLockStatusA@16
%define QueryServiceLockStatusW                         _QueryServiceLockStatusW@16
%define QueryServiceObjectSecurity                      _QueryServiceObjectSecurity@20
%define QueryServiceStatus                              _QueryServiceStatus@8
%define QueryWindows31FilesMigration                    _QueryWindows31FilesMigration@4
%define ReadEventLogA                                   _ReadEventLogA@28
%define ReadEventLogW                                   _ReadEventLogW@28
%define RegCloseKey                                     _RegCloseKey@4
%define RegConnectRegistryA                             _RegConnectRegistryA@12
%define RegConnectRegistryW                             _RegConnectRegistryW@12
%define RegCreateKeyA                                   _RegCreateKeyA@12
%define RegCreateKeyExA                                 _RegCreateKeyExA@36
%define RegCreateKeyExW                                 _RegCreateKeyExW@36
%define RegCreateKeyW                                   _RegCreateKeyW@12
%define RegDeleteKeyA                                   _RegDeleteKeyA@8
%define RegDeleteKeyW                                   _RegDeleteKeyW@8
%define RegDeleteValueA                                 _RegDeleteValueA@8
%define RegDeleteValueW                                 _RegDeleteValueW@8
%define RegEnumKeyA                                     _RegEnumKeyA@16
%define RegEnumKeyExA                                   _RegEnumKeyExA@32
%define RegEnumKeyExW                                   _RegEnumKeyExW@32
%define RegEnumKeyW                                     _RegEnumKeyW@16
%define RegEnumValueA                                   _RegEnumValueA@32
%define RegEnumValueW                                   _RegEnumValueW@32
%define RegFlushKey                                     _RegFlushKey@4
%define RegGetKeySecurity                               _RegGetKeySecurity@16
%define RegLoadKeyA                                     _RegLoadKeyA@12
%define RegLoadKeyW                                     _RegLoadKeyW@12
%define RegNotifyChangeKeyValue                         _RegNotifyChangeKeyValue@20
%define RegOpenKeyA                                     _RegOpenKeyA@12
%define RegOpenKeyExA                                   _RegOpenKeyExA@20
%define RegOpenKeyExW                                   _RegOpenKeyExW@20
%define RegOpenKeyW                                     _RegOpenKeyW@12
%define RegQueryInfoKeyA                                _RegQueryInfoKeyA@48
%define RegQueryInfoKeyW                                _RegQueryInfoKeyW@48
%define RegQueryMultipleValuesA                         _RegQueryMultipleValuesA@20
%define RegQueryMultipleValuesW                         _RegQueryMultipleValuesW@20
%define RegQueryValueA                                  _RegQueryValueA@16
%define RegQueryValueExA                                _RegQueryValueExA@24
%define RegQueryValueExW                                _RegQueryValueExW@24
%define RegQueryValueW                                  _RegQueryValueW@16
%define RegReplaceKeyA                                  _RegReplaceKeyA@16
%define RegReplaceKeyW                                  _RegReplaceKeyW@16
%define RegRestoreKeyA                                  _RegRestoreKeyA@12
%define RegRestoreKeyW                                  _RegRestoreKeyW@12
%define RegSaveKeyA                                     _RegSaveKeyA@12
%define RegSaveKeyW                                     _RegSaveKeyW@12
%define RegSetKeySecurity                               _RegSetKeySecurity@12
%define RegSetValueA                                    _RegSetValueA@20
%define RegSetValueExA                                  _RegSetValueExA@24
%define RegSetValueExW                                  _RegSetValueExW@24
%define RegSetValueW                                    _RegSetValueW@20
%define RegUnLoadKeyA                                   _RegUnLoadKeyA@8
%define RegUnLoadKeyW                                   _RegUnLoadKeyW@8
%define RegisterEventSourceA                            _RegisterEventSourceA@8
%define RegisterEventSourceW                            _RegisterEventSourceW@8
%define RegisterServiceCtrlHandlerA                     _RegisterServiceCtrlHandlerA@8
%define RegisterServiceCtrlHandlerW                     _RegisterServiceCtrlHandlerW@8
%define ReplaceAllAccessRightsA                         _ReplaceAllAccessRightsA@16
%define ReplaceAllAccessRightsW                         _ReplaceAllAccessRightsW@16
%define ReportEventA                                    _ReportEventA@36
%define ReportEventW                                    _ReportEventW@36
%define RevertToSelf                                    _RevertToSelf@0
%define RevokeExplicitAccessRightsA                     _RevokeExplicitAccessRightsA@16
%define RevokeExplicitAccessRightsW                     _RevokeExplicitAccessRightsW@16
%define SetAccessRightsA                                _SetAccessRightsA@16
%define SetAccessRightsW                                _SetAccessRightsW@16
%define SetAclInformation                               _SetAclInformation@16
%define SetEntriesInAclA                                _SetEntriesInAclA@16
%define SetEntriesInAclW                                _SetEntriesInAclW@16
%define SetFileSecurityA                                _SetFileSecurityA@12
%define SetFileSecurityW                                _SetFileSecurityW@12
%define SetKernelObjectSecurity                         _SetKernelObjectSecurity@12
%define SetNamedSecurityInfoA                           _SetNamedSecurityInfoA@28
%define SetNamedSecurityInfoW                           _SetNamedSecurityInfoW@28
%define SetPrivateObjectSecurity                        _SetPrivateObjectSecurity@20
%define SetSecurityDescriptorDacl                       _SetSecurityDescriptorDacl@16
%define SetSecurityDescriptorGroup                      _SetSecurityDescriptorGroup@12
%define SetSecurityDescriptorOwner                      _SetSecurityDescriptorOwner@12
%define SetSecurityDescriptorSacl                       _SetSecurityDescriptorSacl@16
%define SetSecurityInfo                                 _SetSecurityInfo@28
%define SetServiceBits                                  _SetServiceBits@16
%define SetServiceObjectSecurity                        _SetServiceObjectSecurity@12
%define SetServiceStatus                                _SetServiceStatus@8
%define SetThreadToken                                  _SetThreadToken@8
%define SetTokenInformation                             _SetTokenInformation@16
%define StartServiceA                                   _StartServiceA@12
%define StartServiceCtrlDispatcherA                     _StartServiceCtrlDispatcherA@4
%define StartServiceCtrlDispatcherW                     _StartServiceCtrlDispatcherW@4
%define StartServiceW                                   _StartServiceW@12
%define SynchronizeWindows31FilesAndWindowsNTRegistry   _SynchronizeWindows31FilesAndWindowsNTRegistry@16
%define SystemFunction001                               _SystemFunction001@12
%define SystemFunction002                               _SystemFunction002@12
%define SystemFunction003                               _SystemFunction003@8
%define SystemFunction004                               _SystemFunction004@12
%define SystemFunction005                               _SystemFunction005@12
%define SystemFunction006                               _SystemFunction006@8
%define SystemFunction007                               _SystemFunction007@8
%define SystemFunction008                               _SystemFunction008@12
%define SystemFunction009                               _SystemFunction009@12
%define SystemFunction010                               _SystemFunction010@12
%define SystemFunction011                               _SystemFunction011@12
%define SystemFunction012                               _SystemFunction012@12
%define SystemFunction013                               _SystemFunction013@12
%define SystemFunction014                               _SystemFunction014@12
%define SystemFunction015                               _SystemFunction015@12
%define SystemFunction016                               _SystemFunction016@12
%define SystemFunction017                               _SystemFunction017@12
%define SystemFunction018                               _SystemFunction018@12
%define SystemFunction019                               _SystemFunction019@12
%define SystemFunction020                               _SystemFunction020@12
%define SystemFunction021                               _SystemFunction021@12
%define SystemFunction022                               _SystemFunction022@12
%define SystemFunction023                               _SystemFunction023@12
%define SystemFunction024                               _SystemFunction024@12
%define SystemFunction025                               _SystemFunction025@12
%define SystemFunction026                               _SystemFunction026@12
%define SystemFunction027                               _SystemFunction027@12
%define SystemFunction028                               _SystemFunction028@8
%define SystemFunction029                               _SystemFunction029@8
%define SystemFunction030                               _SystemFunction030@8
%define SystemFunction031                               _SystemFunction031@8
%define SystemFunction032                               _SystemFunction032@8
%define SystemFunction033                               _SystemFunction033@8
%define UnlockServiceDatabase                           _UnlockServiceDatabase@4
