/** * This file has no copyright assigned and is placed in the Public Domain. * This file is part of the mingw-w64 runtime package. * No warranty is given; refer to the file DISCLAIMER.PD within this package. */ #ifndef _INC_DSSEC #define _INC_DSSEC #include #if (_WIN32_WINNT >= 0x0600) #ifdef __cplusplus extern "C" { #endif typedef HRESULT (WINAPI *PFNREADOBJECTSECURITY)( LPCWSTR, // Active Directory path of object SECURITY_INFORMATION, // the security information to read PSECURITY_DESCRIPTOR*, // the returned security descriptor LPARAM // context parameter ); typedef HRESULT (WINAPI *PFNWRITEOBJECTSECURITY)( LPCWSTR, // Active Directory path of object SECURITY_INFORMATION, // the security information to write PSECURITY_DESCRIPTOR, // the security descriptor to write LPARAM // context parameter ); #define DSSI_READ_ONLY 0x00000001 #define DSSI_NO_ACCESS_CHECK 0x00000002 #define DSSI_NO_EDIT_SACL 0x00000004 #define DSSI_NO_EDIT_OWNER 0x00000008 #define DSSI_IS_ROOT 0x00000010 #define DSSI_NO_FILTER 0x00000020 #define DSSI_NO_READONLY_MESSAGE 0x00000040 HRESULT WINAPI DSCreateISecurityInfoObject( LPCWSTR pwszObjectPath, LPCWSTR pwszObjectClass, DWORD dwFlags, LPSECURITYINFO *ppSI, PFNREADOBJECTSECURITY pfnReadSD, PFNWRITEOBJECTSECURITY pfnWriteSD, LPARAM lpContext ); HRESULT WINAPI DSCreateISecurityInfoObjectEx( LPCWSTR pwszObjectPath, LPCWSTR pwszObjectClass, LPCWSTR pwszServer, LPCWSTR pwszUserName, LPCWSTR pwszPassword, DWORD dwFlags, LPSECURITYINFO *ppSI, PFNREADOBJECTSECURITY pfnReadSD, PFNWRITEOBJECTSECURITY pfnWriteSD, LPARAM lpContext ); HRESULT WINAPI DSEditSecurity( HWND hwndOwner, LPCWSTR pwszObjectPath, LPCWSTR pwszObjectClass, DWORD dwFlags, LPCWSTR *pwszCaption, PFNREADOBJECTSECURITY pfnReadSD, PFNWRITEOBJECTSECURITY pfnWriteSD, LPARAM lpContext ); #ifdef __cplusplus } #endif #endif /*(_WIN32_WINNT >= 0x0600)*/ #endif /*_INC_DSSEC*/