Home | History | Annotate | Download | only in include
      1 /**
      2  * This file has no copyright assigned and is placed in the Public Domain.
      3  * This file is part of the mingw-w64 runtime package.
      4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
      5  */
      6 #ifndef _INC_DSSEC
      7 #define _INC_DSSEC
      8 #include <aclui.h>
      9 #if (_WIN32_WINNT >= 0x0600)
     10 #ifdef __cplusplus
     11 extern "C" {
     12 #endif
     13 
     14 typedef HRESULT (WINAPI *PFNREADOBJECTSECURITY)(
     15     LPCWSTR,               // Active Directory path of object
     16     SECURITY_INFORMATION,  // the security information to read
     17     PSECURITY_DESCRIPTOR*, // the returned security descriptor
     18     LPARAM                 // context parameter
     19 );
     20 
     21 typedef HRESULT (WINAPI *PFNWRITEOBJECTSECURITY)(
     22     LPCWSTR,              // Active Directory path of object
     23     SECURITY_INFORMATION, // the security information to write
     24     PSECURITY_DESCRIPTOR, // the security descriptor to write
     25     LPARAM                // context parameter
     26 );
     27 
     28 #define DSSI_READ_ONLY 0x00000001
     29 #define DSSI_NO_ACCESS_CHECK  0x00000002
     30 #define DSSI_NO_EDIT_SACL  0x00000004
     31 #define DSSI_NO_EDIT_OWNER  0x00000008
     32 #define DSSI_IS_ROOT  0x00000010
     33 #define DSSI_NO_FILTER  0x00000020
     34 #define DSSI_NO_READONLY_MESSAGE  0x00000040
     35 
     36 HRESULT WINAPI DSCreateISecurityInfoObject(
     37   LPCWSTR pwszObjectPath,
     38   LPCWSTR pwszObjectClass,
     39   DWORD dwFlags,
     40   LPSECURITYINFO *ppSI,
     41   PFNREADOBJECTSECURITY pfnReadSD,
     42   PFNWRITEOBJECTSECURITY pfnWriteSD,
     43   LPARAM lpContext
     44 );
     45 
     46 HRESULT WINAPI DSCreateISecurityInfoObjectEx(
     47   LPCWSTR pwszObjectPath,
     48   LPCWSTR pwszObjectClass,
     49   LPCWSTR pwszServer,
     50   LPCWSTR pwszUserName,
     51   LPCWSTR pwszPassword,
     52   DWORD dwFlags,
     53   LPSECURITYINFO *ppSI,
     54   PFNREADOBJECTSECURITY pfnReadSD,
     55   PFNWRITEOBJECTSECURITY pfnWriteSD,
     56   LPARAM lpContext
     57 );
     58 
     59 HRESULT WINAPI DSEditSecurity(
     60   HWND hwndOwner,
     61   LPCWSTR pwszObjectPath,
     62   LPCWSTR pwszObjectClass,
     63   DWORD dwFlags,
     64   LPCWSTR *pwszCaption,
     65   PFNREADOBJECTSECURITY pfnReadSD,
     66   PFNWRITEOBJECTSECURITY pfnWriteSD,
     67   LPARAM lpContext
     68 );
     69 
     70 #ifdef __cplusplus
     71 }
     72 #endif
     73 #endif /*(_WIN32_WINNT >= 0x0600)*/
     74 #endif /*_INC_DSSEC*/
     75