|
|
/*++ BUILD Version: 0001 // Increment this if a change has global effects
Copyright (c) 1993-1999, Microsoft Corporation
Module Name:
aclapip.h
Abstract:
Private Structure/constant definitions and typedefines for the Win32 Access Control APIs
--*/ #ifndef __ACCESS_CONTROL_API_P__
#define __ACCESS_CONTROL_API_P__
#ifdef __cplusplus
extern "C" { #endif
#if(_WIN32_WINNT >= 0x0500)
WINADVAPI 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 ); WINADVAPI 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
WINADVAPI 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 ); WINADVAPI 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
WINADVAPI 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 ); WINADVAPI 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
WINADVAPI 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 ); WINADVAPI 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
WINADVAPI DWORD WINAPI ConvertAccessToSecurityDescriptorA( IN PACTRL_ACCESSA pAccessList, IN PACTRL_AUDITA pAuditList, IN LPCSTR lpOwner, IN LPCSTR lpGroup, OUT PSECURITY_DESCRIPTOR *ppSecDescriptor ); WINADVAPI 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
WINADVAPI 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 ); WINADVAPI 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
WINADVAPI 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 ); WINADVAPI 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
WINADVAPI 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 ); WINADVAPI 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
WINADVAPI 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 ); WINADVAPI 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
WINADVAPI 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 ); WINADVAPI 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
WINADVAPI DWORD WINAPI GetOverlappedAccessResults( IN PACTRL_OVERLAPPED pOverlapped, IN BOOL fWaitForCompletion, OUT PDWORD pResult, OUT PULONG pcItemsProcessed OPTIONAL );
WINADVAPI DWORD WINAPI CancelOverlappedAccess( IN PACTRL_OVERLAPPED pOverlapped );
WINADVAPI 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 ); WINADVAPI 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
#endif /* _WIN32_WINNT >= 0x0500 */
#ifdef __cplusplus
} #endif
#endif // endif __ACCESS_CONTROL_API_P__
|