| /** |
| * 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 <aclui.h> |
| #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*/ |