Diff

Not logged in

Differences From Artifact [817cc0a842105b34]:

To Artifact [b9488d42782563c4]:


5 5 * * 6 6 * Translated from MinGW API for MS-Windows 3.10 * 7 7 * by Stewart Gordon * 8 8 * * 9 9 * Placed into public domain * 10 10 \***********************************************************************/ 11 11 module win32.aclui; 12 -pragma(lib, "aclui.lib"); 12 +pragma(lib, "aclui"); 13 13 14 14 private import win32.w32api; 15 15 16 -static assert (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500, 17 - "win32.aclui is available only if version WindowsXP, Windows2003 " 18 - "or WindowsVista is set, or both Windows2000 and WindowsNTonly are set"); 16 +static assert (_WIN32_WINNT >= 0x500, 17 + "win32.aclui is available only if version Windows2000, WindowsXP, Windows2003 " 18 + "or WindowsVista is set"); 19 19 20 20 import win32.accctrl, win32.commctrl, win32.objbase; 21 21 private import win32.basetyps, win32.prsht, win32.unknwn, win32.windef, 22 22 win32.winuser; 23 23 24 24 25 25 struct SI_OBJECT_INFO { ................................................................................ 57 57 SI_RESET_OWNER = 0x00100000, 58 58 SI_NO_ADDITIONAL_PERMISSION = 0x00200000, 59 59 SI_MAY_WRITE = 0x10000000, 60 60 SI_EDIT_ALL = SI_EDIT_PERMS | SI_EDIT_OWNER 61 61 | SI_EDIT_AUDITS; 62 62 63 63 struct SI_ACCESS { 64 - CPtr!(GUID) pguid; 65 - ACCESS_MASK mask; 66 - LPCWSTR pszName; 67 - DWORD dwFlags; 64 + const(GUID)* pguid; 65 + ACCESS_MASK mask; 66 + LPCWSTR pszName; 67 + DWORD dwFlags; 68 68 } 69 69 alias SI_ACCESS* PSI_ACCESS; 70 70 71 71 // values for SI_ACCESS.dwFlags 72 72 const DWORD 73 73 SI_ACCESS_SPECIFIC = 0x00010000, 74 74 SI_ACCESS_GENERAL = 0x00020000, 75 75 SI_ACCESS_CONTAINER = 0x00040000, 76 76 SI_ACCESS_PROPERTY = 0x00080000; 77 77 78 78 79 79 struct SI_INHERIT_TYPE { 80 - CPtr!(GUID) pguid; 81 - ULONG dwFlags; 82 - LPCWSTR pszName; 80 + const(GUID)* pguid; 81 + ULONG dwFlags; 82 + LPCWSTR pszName; 83 83 } 84 84 alias SI_INHERIT_TYPE* PSI_INHERIT_TYPE; 85 85 86 86 /* values for SI_INHERIT_TYPE.dwFlags 87 87 INHERIT_ONLY_ACE, CONTAINER_INHERIT_ACE, OBJECT_INHERIT_ACE 88 88 defined elsewhere */ 89 89 ................................................................................ 96 96 97 97 const uint PSPCB_SI_INITDIALOG = WM_USER + 1; 98 98 99 99 interface ISecurityInformation : IUnknown { 100 100 HRESULT GetObjectInformation(PSI_OBJECT_INFO); 101 101 HRESULT GetSecurity(SECURITY_INFORMATION, PSECURITY_DESCRIPTOR*, BOOL); 102 102 HRESULT SetSecurity(SECURITY_INFORMATION, PSECURITY_DESCRIPTOR); 103 - HRESULT GetAccessRights(CPtr!(GUID), DWORD, PSI_ACCESS*, ULONG*, ULONG*); 104 - HRESULT MapGeneric(CPtr!(GUID), UCHAR*, ACCESS_MASK*); 103 + HRESULT GetAccessRights(const(GUID)*, DWORD, PSI_ACCESS*, ULONG*, ULONG*); 104 + HRESULT MapGeneric(const(GUID)*, UCHAR*, ACCESS_MASK*); 105 105 HRESULT GetInheritTypes(PSI_INHERIT_TYPE*, ULONG*); 106 106 HRESULT PropertySheetPageCallback(HWND, UINT, SI_PAGE_TYPE); 107 107 } 108 -alias ISecurityInformation* LPSECURITYINFO; 108 +alias ISecurityInformation LPSECURITYINFO; 109 109 110 110 /* Comment from MinGW 111 111 * TODO: ISecurityInformation2, IEffectivePermission, ISecurityObjectTypeInfo 112 112 */ 113 113 114 114 // FIXME: linkage attribute? 115 115 extern (C) /+DECLSPEC_IMPORT+/ extern const IID IID_ISecurityInformation; 116 116 117 117 extern (Windows) { 118 118 HPROPSHEETPAGE CreateSecurityPage(LPSECURITYINFO psi); 119 119 BOOL EditSecurity(HWND hwndOwner, LPSECURITYINFO psi); 120 120 }