⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 aclapi.h

📁 vc6.0完整版
💻 H
📖 第 1 页 / 共 2 页
字号:
#define GetTrusteeForm  GetTrusteeFormW
#else
#define GetTrusteeForm  GetTrusteeFormA
#endif // !UNICODE



MULTIPLE_TRUSTEE_OPERATION
WINAPI
GetMultipleTrusteeOperationA( IN PTRUSTEE_A  pTrustee);
MULTIPLE_TRUSTEE_OPERATION
WINAPI
GetMultipleTrusteeOperationW( IN PTRUSTEE_W  pTrustee);
#ifdef UNICODE
#define GetMultipleTrusteeOperation  GetMultipleTrusteeOperationW
#else
#define GetMultipleTrusteeOperation  GetMultipleTrusteeOperationA
#endif // !UNICODE



PTRUSTEE_A
WINAPI
GetMultipleTrusteeA( IN PTRUSTEE_A  pTrustee);
PTRUSTEE_W
WINAPI
GetMultipleTrusteeW( IN PTRUSTEE_W  pTrustee);
#ifdef UNICODE
#define GetMultipleTrustee  GetMultipleTrusteeW
#else
#define GetMultipleTrustee  GetMultipleTrusteeA
#endif // !UNICODE


#if(_WIN32_WINNT >= 0x0500)
//----------------------------------------------------------------------------
//
//                                  NT5 APIs
//
//----------------------------------------------------------------------------

DWORD
WINAPI
GetNamedSecurityInfoExA(IN   LPCSTR                lpObject,
                        IN   SE_OBJECT_TYPE          ObjectType,
                        IN   SECURITY_INFORMATION    SecurityInfo,
                        IN   LPCSTR                lpProvider,
                        IN   LPCSTR                lpProperty,
                        OUT  PACTRL_ACCESSA         *ppAccessList,
                        OUT  PACTRL_AUDITA          *ppAuditList,
                        OUT  LPSTR                *lppOwner,
                        OUT  LPSTR                *lppGroup);
DWORD
WINAPI
GetNamedSecurityInfoExW(IN   LPCWSTR                lpObject,
                        IN   SE_OBJECT_TYPE          ObjectType,
                        IN   SECURITY_INFORMATION    SecurityInfo,
                        IN   LPCWSTR                lpProvider,
                        IN   LPCWSTR                lpProperty,
                        OUT  PACTRL_ACCESSW         *ppAccessList,
                        OUT  PACTRL_AUDITW          *ppAuditList,
                        OUT  LPWSTR                *lppOwner,
                        OUT  LPWSTR                *lppGroup);
#ifdef UNICODE
#define GetNamedSecurityInfoEx  GetNamedSecurityInfoExW
#else
#define GetNamedSecurityInfoEx  GetNamedSecurityInfoExA
#endif // !UNICODE


DWORD
WINAPI
SetNamedSecurityInfoExA(IN    LPCSTR               lpObject,
                        IN    SE_OBJECT_TYPE         ObjectType,
                        IN    SECURITY_INFORMATION   SecurityInfo,
                        IN    LPCSTR               lpProvider,
                        IN    PACTRL_ACCESSA         pAccessList,
                        IN    PACTRL_AUDITA          pAuditList,
                        IN    LPSTR                lpOwner,
                        IN    LPSTR                lpGroup,
                        IN    PACTRL_OVERLAPPED      pOverlapped);
DWORD
WINAPI
SetNamedSecurityInfoExW(IN    LPCWSTR               lpObject,
                        IN    SE_OBJECT_TYPE         ObjectType,
                        IN    SECURITY_INFORMATION   SecurityInfo,
                        IN    LPCWSTR               lpProvider,
                        IN    PACTRL_ACCESSW         pAccessList,
                        IN    PACTRL_AUDITW          pAuditList,
                        IN    LPWSTR                lpOwner,
                        IN    LPWSTR                lpGroup,
                        IN    PACTRL_OVERLAPPED      pOverlapped);
#ifdef UNICODE
#define SetNamedSecurityInfoEx  SetNamedSecurityInfoExW
#else
#define SetNamedSecurityInfoEx  SetNamedSecurityInfoExA
#endif // !UNICODE


DWORD
WINAPI
GetSecurityInfoExA(IN    HANDLE                  hObject,
                   IN    SE_OBJECT_TYPE          ObjectType,
                   IN    SECURITY_INFORMATION    SecurityInfo,
                   IN    LPCSTR                lpProvider,
                   IN    LPCSTR                lpProperty,
                   OUT   PACTRL_ACCESSA         *ppAccessList,
                   OUT   PACTRL_AUDITA          *ppAuditList,
                   OUT   LPSTR                *lppOwner,
                   OUT   LPSTR                *lppGroup);
DWORD
WINAPI
GetSecurityInfoExW(IN    HANDLE                  hObject,
                   IN    SE_OBJECT_TYPE          ObjectType,
                   IN    SECURITY_INFORMATION    SecurityInfo,
                   IN    LPCWSTR                lpProvider,
                   IN    LPCWSTR                lpProperty,
                   OUT   PACTRL_ACCESSW         *ppAccessList,
                   OUT   PACTRL_AUDITW          *ppAuditList,
                   OUT   LPWSTR                *lppOwner,
                   OUT   LPWSTR                *lppGroup);
#ifdef UNICODE
#define GetSecurityInfoEx  GetSecurityInfoExW
#else
#define GetSecurityInfoEx  GetSecurityInfoExA
#endif // !UNICODE



DWORD
WINAPI
SetSecurityInfoExA(IN    HANDLE                 hObject,
                   IN    SE_OBJECT_TYPE         ObjectType,
                   IN    SECURITY_INFORMATION   SecurityInfo,
                   IN    LPCSTR               lpProvider,
                   IN    PACTRL_ACCESSA         pAccessList,
                   IN    PACTRL_AUDITA          pAuditList,
                   IN    LPSTR                lpOwner,
                   IN    LPSTR                lpGroup,
                   OUT   PACTRL_OVERLAPPED      pOverlapped);
DWORD
WINAPI
SetSecurityInfoExW(IN    HANDLE                 hObject,
                   IN    SE_OBJECT_TYPE         ObjectType,
                   IN    SECURITY_INFORMATION   SecurityInfo,
                   IN    LPCWSTR               lpProvider,
                   IN    PACTRL_ACCESSW         pAccessList,
                   IN    PACTRL_AUDITW          pAuditList,
                   IN    LPWSTR                lpOwner,
                   IN    LPWSTR                lpGroup,
                   OUT   PACTRL_OVERLAPPED      pOverlapped);
#ifdef UNICODE
#define SetSecurityInfoEx  SetSecurityInfoExW
#else
#define SetSecurityInfoEx  SetSecurityInfoExA
#endif // !UNICODE


DWORD
WINAPI
ConvertAccessToSecurityDescriptorA(IN  PACTRL_ACCESSA        pAccessList,
                                   IN  PACTRL_AUDITA         pAuditList,
                                   IN  LPCSTR              lpOwner,
                                   IN  LPCSTR              lpGroup,
                                   OUT PSECURITY_DESCRIPTOR *ppSecDescriptor);
DWORD
WINAPI
ConvertAccessToSecurityDescriptorW(IN  PACTRL_ACCESSW        pAccessList,
                                   IN  PACTRL_AUDITW         pAuditList,
                                   IN  LPCWSTR              lpOwner,
                                   IN  LPCWSTR              lpGroup,
                                   OUT PSECURITY_DESCRIPTOR *ppSecDescriptor);
#ifdef UNICODE
#define ConvertAccessToSecurityDescriptor  ConvertAccessToSecurityDescriptorW
#else
#define ConvertAccessToSecurityDescriptor  ConvertAccessToSecurityDescriptorA
#endif // !UNICODE


DWORD
WINAPI
ConvertSecurityDescriptorToAccessA(IN  HANDLE               hObject,
                                   IN  SE_OBJECT_TYPE       ObjectType,
                                   IN  PSECURITY_DESCRIPTOR pSecDescriptor,
                                   OUT PACTRL_ACCESSA      *ppAccessList,
                                   OUT PACTRL_AUDITA       *ppAuditList,
                                   OUT LPSTR             *lppOwner,
                                   OUT LPSTR             *lppGroup);
DWORD
WINAPI
ConvertSecurityDescriptorToAccessW(IN  HANDLE               hObject,
                                   IN  SE_OBJECT_TYPE       ObjectType,
                                   IN  PSECURITY_DESCRIPTOR pSecDescriptor,
                                   OUT PACTRL_ACCESSW      *ppAccessList,
                                   OUT PACTRL_AUDITW       *ppAuditList,
                                   OUT LPWSTR             *lppOwner,
                                   OUT LPWSTR             *lppGroup);
#ifdef UNICODE
#define ConvertSecurityDescriptorToAccess  ConvertSecurityDescriptorToAccessW
#else
#define ConvertSecurityDescriptorToAccess  ConvertSecurityDescriptorToAccessA
#endif // !UNICODE


DWORD
WINAPI
ConvertSecurityDescriptorToAccessNamedA(IN  LPCSTR             lpObject,
                                        IN  SE_OBJECT_TYPE       ObjectType,
                                        IN  PSECURITY_DESCRIPTOR pSecDescriptor,
                                        OUT PACTRL_ACCESSA      *ppAccessList,
                                        OUT PACTRL_AUDITA       *ppAuditList,
                                        OUT LPSTR             *lppOwner,
                                        OUT LPSTR             *lppGroup);
DWORD
WINAPI
ConvertSecurityDescriptorToAccessNamedW(IN  LPCWSTR             lpObject,
                                        IN  SE_OBJECT_TYPE       ObjectType,
                                        IN  PSECURITY_DESCRIPTOR pSecDescriptor,
                                        OUT PACTRL_ACCESSW      *ppAccessList,
                                        OUT PACTRL_AUDITW       *ppAuditList,
                                        OUT LPWSTR             *lppOwner,
                                        OUT LPWSTR             *lppGroup);
#ifdef UNICODE
#define ConvertSecurityDescriptorToAccessNamed  ConvertSecurityDescriptorToAccessNamedW
#else
#define ConvertSecurityDescriptorToAccessNamed  ConvertSecurityDescriptorToAccessNamedA
#endif // !UNICODE




DWORD
WINAPI
SetEntriesInAccessListA(IN  ULONG                cEntries,
                        IN  PACTRL_ACCESS_ENTRYA pAccessEntryList,
                        IN  ACCESS_MODE          AccessMode,
                        IN  LPCSTR             lpProperty,
                        IN  PACTRL_ACCESSA       pOldList,
                        OUT PACTRL_ACCESSA      *ppNewList);
DWORD
WINAPI
SetEntriesInAccessListW(IN  ULONG                cEntries,
                        IN  PACTRL_ACCESS_ENTRYW pAccessEntryList,
                        IN  ACCESS_MODE          AccessMode,
                        IN  LPCWSTR             lpProperty,
                        IN  PACTRL_ACCESSW       pOldList,
                        OUT PACTRL_ACCESSW      *ppNewList);
#ifdef UNICODE
#define SetEntriesInAccessList  SetEntriesInAccessListW
#else
#define SetEntriesInAccessList  SetEntriesInAccessListA
#endif // !UNICODE



DWORD
WINAPI
SetEntriesInAuditListA(IN  ULONG                 cEntries,
                       IN  PACTRL_ACCESS_ENTRYA  pAccessEntryList,
                       IN  ACCESS_MODE           AccessMode,
                       IN  LPCSTR              lpProperty,
                       IN  PACTRL_AUDITA         pOldList,
                       OUT PACTRL_AUDITA        *ppNewList);
DWORD
WINAPI
SetEntriesInAuditListW(IN  ULONG                 cEntries,
                       IN  PACTRL_ACCESS_ENTRYW  pAccessEntryList,
                       IN  ACCESS_MODE           AccessMode,
                       IN  LPCWSTR              lpProperty,
                       IN  PACTRL_AUDITW         pOldList,
                       OUT PACTRL_AUDITW        *ppNewList);
#ifdef UNICODE
#define SetEntriesInAuditList  SetEntriesInAuditListW
#else
#define SetEntriesInAuditList  SetEntriesInAuditListA
#endif // !UNICODE

DWORD
WINAPI
TrusteeAccessToObjectA(IN        LPCSTR           lpObject,
                       IN        SE_OBJECT_TYPE     ObjectType,
                       IN        LPCSTR           lpProvider,
                       IN        PTRUSTEE_A         pTrustee,
                       IN        ULONG              cEntries,
                       IN OUT    PTRUSTEE_ACCESSA   pTrusteeAccess);
DWORD
WINAPI
TrusteeAccessToObjectW(IN        LPCWSTR           lpObject,
                       IN        SE_OBJECT_TYPE     ObjectType,
                       IN        LPCWSTR           lpProvider,
                       IN        PTRUSTEE_W         pTrustee,
                       IN        ULONG              cEntries,
                       IN OUT    PTRUSTEE_ACCESSW   pTrusteeAccess);
#ifdef UNICODE
#define TrusteeAccessToObject  TrusteeAccessToObjectW
#else
#define TrusteeAccessToObject  TrusteeAccessToObjectA
#endif // !UNICODE



DWORD
WINAPI
GetOverlappedAccessResults( IN  PACTRL_OVERLAPPED   pOverlapped,
                            IN  BOOL                fWaitForCompletion,
                            OUT PDWORD              pResult,
                            OUT PULONG              pcItemsProcessed OPTIONAL);



DWORD
WINAPI
CancelOverlappedAccess(IN       PACTRL_OVERLAPPED   pOverlapped);


DWORD
WINAPI
GetAccessPermissionsForObjectA(IN   LPCSTR             lpObject,
                               IN   SE_OBJECT_TYPE       ObjectType,
                               IN   LPCSTR             lpObjType,
                               IN   LPCSTR             lpProvider,
                               OUT  PULONG               pcEntries,
                               OUT  PACTRL_ACCESS_INFOA *ppAccessInfoList,
                               OUT  PULONG               pcRights,
                               OUT  PACTRL_CONTROL_INFOA *ppRightsList,
                               OUT  PULONG               pfAccessFlags);
DWORD
WINAPI
GetAccessPermissionsForObjectW(IN   LPCWSTR             lpObject,
                               IN   SE_OBJECT_TYPE       ObjectType,
                               IN   LPCWSTR             lpObjType,
                               IN   LPCWSTR             lpProvider,
                               OUT  PULONG               pcEntries,
                               OUT  PACTRL_ACCESS_INFOW *ppAccessInfoList,
                               OUT  PULONG               pcRights,
                               OUT  PACTRL_CONTROL_INFOW *ppRightsList,
                               OUT  PULONG               pfAccessFlags);
#ifdef UNICODE
#define GetAccessPermissionsForObject  GetAccessPermissionsForObjectW
#else
#define GetAccessPermissionsForObject  GetAccessPermissionsForObjectA
#endif // !UNICODE

//
// Temporary requirement for the technology preview, no longer required
//
#define AccProvInit(err)
#endif /* _WIN32_WINNT >=  0x0500 */


#ifdef __cplusplus
}
#endif


#endif // __ACCESS_CONTROL_API__

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -