A hint: This file contains one or more very long lines, so maybe it is better readable using the pure text view mode that shows the contents as wrapped lines within the browser window.
1 '' FreeBASIC binding for mingw-w64-v4.0.4 2 '' 3 '' based on the C header files: 4 '' This Software is provided under the Zope Public License (ZPL) Version 2.1. 5 '' 6 '' Copyright (c) 2009, 2010 by the mingw-w64 project 7 '' 8 '' See the AUTHORS file for the list of contributors to the mingw-w64 project. 9 '' 10 '' This license has been certified as open source. It has also been designated 11 '' as GPL compatible by the Free Software Foundation (FSF). 12 '' 13 '' Redistribution and use in source and binary forms, with or without 14 '' modification, are permitted provided that the following conditions are met: 15 '' 16 '' 1. Redistributions in source code must retain the accompanying copyright 17 '' notice, this list of conditions, and the following disclaimer. 18 '' 2. Redistributions in binary form must reproduce the accompanying 19 '' copyright notice, this list of conditions, and the following disclaimer 20 '' in the documentation and/or other materials provided with the 21 '' distribution. 22 '' 3. Names of the copyright holders must not be used to endorse or promote 23 '' products derived from this software without prior written permission 24 '' from the copyright holders. 25 '' 4. The right to distribute this software or to use it for any purpose does 26 '' not give you the right to use Servicemarks (sm) or Trademarks (tm) of 27 '' the copyright holders. Use of them is covered by separate agreement 28 '' with the copyright holders. 29 '' 5. If any files are modified, you must cause the modified files to carry 30 '' prominent notices stating that you changed the files and the date of 31 '' any change. 32 '' 33 '' Disclaimer 34 '' 35 '' THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY EXPRESSED 36 '' OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 37 '' OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 38 '' EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT, 39 '' INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 40 '' LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, 41 '' OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 42 '' LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 43 '' NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 44 '' EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 45 '' 46 '' translated to FreeBASIC by: 47 '' Copyright © 2015 FreeBASIC development team 48 49 #pragma once 50 51 #inclib "advapi32" 52 53 #include once "winapifamily.bi" 54 #include once "_mingw_unicode.bi" 55 #include once "windows.bi" 56 #include once "accctrl.bi" 57 58 extern "Windows" 59 60 #define __ACCESS_CONTROL_API__ 61 type FN_PROGRESS as sub cdecl(byval pObjectName as LPWSTR, byval Status as DWORD, byval pInvokeSetting as PPROG_INVOKE_SETTING, byval Args as PVOID, byval SecuritySet as WINBOOL) 62 #define AccProvInit(err) 63 declare function SetEntriesInAclA(byval cCountOfExplicitEntries as ULONG, byval pListOfExplicitEntries as PEXPLICIT_ACCESS_A, byval OldAcl as PACL, byval NewAcl as PACL ptr) as DWORD 64 65 #ifndef UNICODE 66 declare function SetEntriesInAcl alias "SetEntriesInAclA"(byval cCountOfExplicitEntries as ULONG, byval pListOfExplicitEntries as PEXPLICIT_ACCESS_A, byval OldAcl as PACL, byval NewAcl as PACL ptr) as DWORD 67 #endif 68 69 declare function SetEntriesInAclW(byval cCountOfExplicitEntries as ULONG, byval pListOfExplicitEntries as PEXPLICIT_ACCESS_W, byval OldAcl as PACL, byval NewAcl as PACL ptr) as DWORD 70 71 #ifdef UNICODE 72 declare function SetEntriesInAcl alias "SetEntriesInAclW"(byval cCountOfExplicitEntries as ULONG, byval pListOfExplicitEntries as PEXPLICIT_ACCESS_W, byval OldAcl as PACL, byval NewAcl as PACL ptr) as DWORD 73 #endif 74 75 declare function GetExplicitEntriesFromAclA(byval pacl as PACL, byval pcCountOfExplicitEntries as PULONG, byval pListOfExplicitEntries as PEXPLICIT_ACCESS_A ptr) as DWORD 76 77 #ifndef UNICODE 78 declare function GetExplicitEntriesFromAcl alias "GetExplicitEntriesFromAclA"(byval pacl as PACL, byval pcCountOfExplicitEntries as PULONG, byval pListOfExplicitEntries as PEXPLICIT_ACCESS_A ptr) as DWORD 79 #endif 80 81 declare function GetExplicitEntriesFromAclW(byval pacl as PACL, byval pcCountOfExplicitEntries as PULONG, byval pListOfExplicitEntries as PEXPLICIT_ACCESS_W ptr) as DWORD 82 83 #ifdef UNICODE 84 declare function GetExplicitEntriesFromAcl alias "GetExplicitEntriesFromAclW"(byval pacl as PACL, byval pcCountOfExplicitEntries as PULONG, byval pListOfExplicitEntries as PEXPLICIT_ACCESS_W ptr) as DWORD 85 #endif 86 87 declare function GetEffectiveRightsFromAclA(byval pacl as PACL, byval pTrustee as PTRUSTEE_A, byval pAccessRights as PACCESS_MASK) as DWORD 88 89 #ifndef UNICODE 90 declare function GetEffectiveRightsFromAcl alias "GetEffectiveRightsFromAclA"(byval pacl as PACL, byval pTrustee as PTRUSTEE_A, byval pAccessRights as PACCESS_MASK) as DWORD 91 #endif 92 93 declare function GetEffectiveRightsFromAclW(byval pacl as PACL, byval pTrustee as PTRUSTEE_W, byval pAccessRights as PACCESS_MASK) as DWORD 94 95 #ifdef UNICODE 96 declare function GetEffectiveRightsFromAcl alias "GetEffectiveRightsFromAclW"(byval pacl as PACL, byval pTrustee as PTRUSTEE_W, byval pAccessRights as PACCESS_MASK) as DWORD 97 #endif 98 99 declare function GetAuditedPermissionsFromAclA(byval pacl as PACL, byval pTrustee as PTRUSTEE_A, byval pSuccessfulAuditedRights as PACCESS_MASK, byval pFailedAuditRights as PACCESS_MASK) as DWORD 100 101 #ifndef UNICODE 102 declare function GetAuditedPermissionsFromAcl alias "GetAuditedPermissionsFromAclA"(byval pacl as PACL, byval pTrustee as PTRUSTEE_A, byval pSuccessfulAuditedRights as PACCESS_MASK, byval pFailedAuditRights as PACCESS_MASK) as DWORD 103 #endif 104 105 declare function GetAuditedPermissionsFromAclW(byval pacl as PACL, byval pTrustee as PTRUSTEE_W, byval pSuccessfulAuditedRights as PACCESS_MASK, byval pFailedAuditRights as PACCESS_MASK) as DWORD 106 107 #ifdef UNICODE 108 declare function GetAuditedPermissionsFromAcl alias "GetAuditedPermissionsFromAclW"(byval pacl as PACL, byval pTrustee as PTRUSTEE_W, byval pSuccessfulAuditedRights as PACCESS_MASK, byval pFailedAuditRights as PACCESS_MASK) as DWORD 109 #endif 110 111 declare function GetNamedSecurityInfoA(byval pObjectName as LPCSTR, byval ObjectType as SE_OBJECT_TYPE, byval SecurityInfo as SECURITY_INFORMATION, byval ppsidOwner as PSID ptr, byval ppsidGroup as PSID ptr, byval ppDacl as PACL ptr, byval ppSacl as PACL ptr, byval ppSecurityDescriptor as PSECURITY_DESCRIPTOR ptr) as DWORD 112 113 #ifndef UNICODE 114 declare function GetNamedSecurityInfo alias "GetNamedSecurityInfoA"(byval pObjectName as LPCSTR, byval ObjectType as SE_OBJECT_TYPE, byval SecurityInfo as SECURITY_INFORMATION, byval ppsidOwner as PSID ptr, byval ppsidGroup as PSID ptr, byval ppDacl as PACL ptr, byval ppSacl as PACL ptr, byval ppSecurityDescriptor as PSECURITY_DESCRIPTOR ptr) as DWORD 115 #endif 116 117 declare function GetNamedSecurityInfoW(byval pObjectName as LPCWSTR, byval ObjectType as SE_OBJECT_TYPE, byval SecurityInfo as SECURITY_INFORMATION, byval ppsidOwner as PSID ptr, byval ppsidGroup as PSID ptr, byval ppDacl as PACL ptr, byval ppSacl as PACL ptr, byval ppSecurityDescriptor as PSECURITY_DESCRIPTOR ptr) as DWORD 118 119 #ifdef UNICODE 120 declare function GetNamedSecurityInfo alias "GetNamedSecurityInfoW"(byval pObjectName as LPCWSTR, byval ObjectType as SE_OBJECT_TYPE, byval SecurityInfo as SECURITY_INFORMATION, byval ppsidOwner as PSID ptr, byval ppsidGroup as PSID ptr, byval ppDacl as PACL ptr, byval ppSacl as PACL ptr, byval ppSecurityDescriptor as PSECURITY_DESCRIPTOR ptr) as DWORD 121 #endif 122 123 declare function GetSecurityInfo(byval handle as HANDLE, byval ObjectType as SE_OBJECT_TYPE, byval SecurityInfo as SECURITY_INFORMATION, byval ppsidOwner as PSID ptr, byval ppsidGroup as PSID ptr, byval ppDacl as PACL ptr, byval ppSacl as PACL ptr, byval ppSecurityDescriptor as PSECURITY_DESCRIPTOR ptr) as DWORD 124 declare function SetNamedSecurityInfoA(byval pObjectName as LPSTR, byval ObjectType as SE_OBJECT_TYPE, byval SecurityInfo as SECURITY_INFORMATION, byval psidOwner as PSID, byval psidGroup as PSID, byval pDacl as PACL, byval pSacl as PACL) as DWORD 125 126 #ifndef UNICODE 127 declare function SetNamedSecurityInfo alias "SetNamedSecurityInfoA"(byval pObjectName as LPSTR, byval ObjectType as SE_OBJECT_TYPE, byval SecurityInfo as SECURITY_INFORMATION, byval psidOwner as PSID, byval psidGroup as PSID, byval pDacl as PACL, byval pSacl as PACL) as DWORD 128 #endif 129 130 declare function SetNamedSecurityInfoW(byval pObjectName as LPWSTR, byval ObjectType as SE_OBJECT_TYPE, byval SecurityInfo as SECURITY_INFORMATION, byval psidOwner as PSID, byval psidGroup as PSID, byval pDacl as PACL, byval pSacl as PACL) as DWORD 131 132 #ifdef UNICODE 133 declare function SetNamedSecurityInfo alias "SetNamedSecurityInfoW"(byval pObjectName as LPWSTR, byval ObjectType as SE_OBJECT_TYPE, byval SecurityInfo as SECURITY_INFORMATION, byval psidOwner as PSID, byval psidGroup as PSID, byval pDacl as PACL, byval pSacl as PACL) as DWORD 134 #endif 135 136 declare function SetSecurityInfo(byval handle as HANDLE, byval ObjectType as SE_OBJECT_TYPE, byval SecurityInfo as SECURITY_INFORMATION, byval psidOwner as PSID, byval psidGroup as PSID, byval pDacl as PACL, byval pSacl as PACL) as DWORD 137 declare function GetInheritanceSourceA(byval pObjectName as LPSTR, byval ObjectType as SE_OBJECT_TYPE, byval SecurityInfo as SECURITY_INFORMATION, byval Container as WINBOOL, byval pObjectClassGuids as GUID ptr ptr, byval GuidCount as DWORD, byval pAcl as PACL, byval pfnArray as PFN_OBJECT_MGR_FUNCTS, byval pGenericMapping as PGENERIC_MAPPING, byval pInheritArray as PINHERITED_FROMA) as DWORD 138 139 #ifndef UNICODE 140 declare function GetInheritanceSource alias "GetInheritanceSourceA"(byval pObjectName as LPSTR, byval ObjectType as SE_OBJECT_TYPE, byval SecurityInfo as SECURITY_INFORMATION, byval Container as WINBOOL, byval pObjectClassGuids as GUID ptr ptr, byval GuidCount as DWORD, byval pAcl as PACL, byval pfnArray as PFN_OBJECT_MGR_FUNCTS, byval pGenericMapping as PGENERIC_MAPPING, byval pInheritArray as PINHERITED_FROMA) as DWORD 141 #endif 142 143 declare function GetInheritanceSourceW(byval pObjectName as LPWSTR, byval ObjectType as SE_OBJECT_TYPE, byval SecurityInfo as SECURITY_INFORMATION, byval Container as WINBOOL, byval pObjectClassGuids as GUID ptr ptr, byval GuidCount as DWORD, byval pAcl as PACL, byval pfnArray as PFN_OBJECT_MGR_FUNCTS, byval pGenericMapping as PGENERIC_MAPPING, byval pInheritArray as PINHERITED_FROMW) as DWORD 144 145 #ifdef UNICODE 146 declare function GetInheritanceSource alias "GetInheritanceSourceW"(byval pObjectName as LPWSTR, byval ObjectType as SE_OBJECT_TYPE, byval SecurityInfo as SECURITY_INFORMATION, byval Container as WINBOOL, byval pObjectClassGuids as GUID ptr ptr, byval GuidCount as DWORD, byval pAcl as PACL, byval pfnArray as PFN_OBJECT_MGR_FUNCTS, byval pGenericMapping as PGENERIC_MAPPING, byval pInheritArray as PINHERITED_FROMW) as DWORD 147 #endif 148 149 declare function FreeInheritedFromArray(byval pInheritArray as PINHERITED_FROMW, byval AceCnt as USHORT, byval pfnArray as PFN_OBJECT_MGR_FUNCTS) as DWORD 150 declare function TreeResetNamedSecurityInfoA(byval pObjectName as LPSTR, byval ObjectType as SE_OBJECT_TYPE, byval SecurityInfo as SECURITY_INFORMATION, byval pOwner as PSID, byval pGroup as PSID, byval pDacl as PACL, byval pSacl as PACL, byval KeepExplicit as WINBOOL, byval fnProgress as FN_PROGRESS, byval ProgressInvokeSetting as PROG_INVOKE_SETTING, byval Args as PVOID) as DWORD 151 152 #ifndef UNICODE 153 declare function TreeResetNamedSecurityInfo alias "TreeResetNamedSecurityInfoA"(byval pObjectName as LPSTR, byval ObjectType as SE_OBJECT_TYPE, byval SecurityInfo as SECURITY_INFORMATION, byval pOwner as PSID, byval pGroup as PSID, byval pDacl as PACL, byval pSacl as PACL, byval KeepExplicit as WINBOOL, byval fnProgress as FN_PROGRESS, byval ProgressInvokeSetting as PROG_INVOKE_SETTING, byval Args as PVOID) as DWORD 154 #endif 155 156 declare function TreeResetNamedSecurityInfoW(byval pObjectName as LPWSTR, byval ObjectType as SE_OBJECT_TYPE, byval SecurityInfo as SECURITY_INFORMATION, byval pOwner as PSID, byval pGroup as PSID, byval pDacl as PACL, byval pSacl as PACL, byval KeepExplicit as WINBOOL, byval fnProgress as FN_PROGRESS, byval ProgressInvokeSetting as PROG_INVOKE_SETTING, byval Args as PVOID) as DWORD 157 158 #ifdef UNICODE 159 declare function TreeResetNamedSecurityInfo alias "TreeResetNamedSecurityInfoW"(byval pObjectName as LPWSTR, byval ObjectType as SE_OBJECT_TYPE, byval SecurityInfo as SECURITY_INFORMATION, byval pOwner as PSID, byval pGroup as PSID, byval pDacl as PACL, byval pSacl as PACL, byval KeepExplicit as WINBOOL, byval fnProgress as FN_PROGRESS, byval ProgressInvokeSetting as PROG_INVOKE_SETTING, byval Args as PVOID) as DWORD 160 #endif 161 162 declare function BuildSecurityDescriptorA(byval pOwner as PTRUSTEE_A, byval pGroup as PTRUSTEE_A, byval cCountOfAccessEntries as ULONG, byval pListOfAccessEntries as PEXPLICIT_ACCESS_A, byval cCountOfAuditEntries as ULONG, byval pListOfAuditEntries as PEXPLICIT_ACCESS_A, byval pOldSD as PSECURITY_DESCRIPTOR, byval pSizeNewSD as PULONG, byval pNewSD as PSECURITY_DESCRIPTOR ptr) as DWORD 163 164 #ifndef UNICODE 165 declare function BuildSecurityDescriptor alias "BuildSecurityDescriptorA"(byval pOwner as PTRUSTEE_A, byval pGroup as PTRUSTEE_A, byval cCountOfAccessEntries as ULONG, byval pListOfAccessEntries as PEXPLICIT_ACCESS_A, byval cCountOfAuditEntries as ULONG, byval pListOfAuditEntries as PEXPLICIT_ACCESS_A, byval pOldSD as PSECURITY_DESCRIPTOR, byval pSizeNewSD as PULONG, byval pNewSD as PSECURITY_DESCRIPTOR ptr) as DWORD 166 #endif 167 168 declare function BuildSecurityDescriptorW(byval pOwner as PTRUSTEE_W, byval pGroup as PTRUSTEE_W, byval cCountOfAccessEntries as ULONG, byval pListOfAccessEntries as PEXPLICIT_ACCESS_W, byval cCountOfAuditEntries as ULONG, byval pListOfAuditEntries as PEXPLICIT_ACCESS_W, byval pOldSD as PSECURITY_DESCRIPTOR, byval pSizeNewSD as PULONG, byval pNewSD as PSECURITY_DESCRIPTOR ptr) as DWORD 169 170 #ifdef UNICODE 171 declare function BuildSecurityDescriptor alias "BuildSecurityDescriptorW"(byval pOwner as PTRUSTEE_W, byval pGroup as PTRUSTEE_W, byval cCountOfAccessEntries as ULONG, byval pListOfAccessEntries as PEXPLICIT_ACCESS_W, byval cCountOfAuditEntries as ULONG, byval pListOfAuditEntries as PEXPLICIT_ACCESS_W, byval pOldSD as PSECURITY_DESCRIPTOR, byval pSizeNewSD as PULONG, byval pNewSD as PSECURITY_DESCRIPTOR ptr) as DWORD 172 #endif 173 174 declare function LookupSecurityDescriptorPartsA(byval ppOwner as PTRUSTEE_A ptr, byval ppGroup as PTRUSTEE_A ptr, byval pcCountOfAccessEntries as PULONG, byval ppListOfAccessEntries as PEXPLICIT_ACCESS_A ptr, byval pcCountOfAuditEntries as PULONG, byval ppListOfAuditEntries as PEXPLICIT_ACCESS_A ptr, byval pSD as PSECURITY_DESCRIPTOR) as DWORD 175 176 #ifndef UNICODE 177 declare function LookupSecurityDescriptorParts alias "LookupSecurityDescriptorPartsA"(byval ppOwner as PTRUSTEE_A ptr, byval ppGroup as PTRUSTEE_A ptr, byval pcCountOfAccessEntries as PULONG, byval ppListOfAccessEntries as PEXPLICIT_ACCESS_A ptr, byval pcCountOfAuditEntries as PULONG, byval ppListOfAuditEntries as PEXPLICIT_ACCESS_A ptr, byval pSD as PSECURITY_DESCRIPTOR) as DWORD 178 #endif 179 180 declare function LookupSecurityDescriptorPartsW(byval ppOwner as PTRUSTEE_W ptr, byval ppGroup as PTRUSTEE_W ptr, byval pcCountOfAccessEntries as PULONG, byval ppListOfAccessEntries as PEXPLICIT_ACCESS_W ptr, byval pcCountOfAuditEntries as PULONG, byval ppListOfAuditEntries as PEXPLICIT_ACCESS_W ptr, byval pSD as PSECURITY_DESCRIPTOR) as DWORD 181 182 #ifdef UNICODE 183 declare function LookupSecurityDescriptorParts alias "LookupSecurityDescriptorPartsW"(byval ppOwner as PTRUSTEE_W ptr, byval ppGroup as PTRUSTEE_W ptr, byval pcCountOfAccessEntries as PULONG, byval ppListOfAccessEntries as PEXPLICIT_ACCESS_W ptr, byval pcCountOfAuditEntries as PULONG, byval ppListOfAuditEntries as PEXPLICIT_ACCESS_W ptr, byval pSD as PSECURITY_DESCRIPTOR) as DWORD 184 #endif 185 186 declare sub BuildExplicitAccessWithNameA(byval pExplicitAccess as PEXPLICIT_ACCESS_A, byval pTrusteeName as LPSTR, byval AccessPermissions as DWORD, byval AccessMode as ACCESS_MODE, byval Inheritance as DWORD) 187 188 #ifndef UNICODE 189 declare sub BuildExplicitAccessWithName alias "BuildExplicitAccessWithNameA"(byval pExplicitAccess as PEXPLICIT_ACCESS_A, byval pTrusteeName as LPSTR, byval AccessPermissions as DWORD, byval AccessMode as ACCESS_MODE, byval Inheritance as DWORD) 190 #endif 191 192 declare sub BuildExplicitAccessWithNameW(byval pExplicitAccess as PEXPLICIT_ACCESS_W, byval pTrusteeName as LPWSTR, byval AccessPermissions as DWORD, byval AccessMode as ACCESS_MODE, byval Inheritance as DWORD) 193 194 #ifdef UNICODE 195 declare sub BuildExplicitAccessWithName alias "BuildExplicitAccessWithNameW"(byval pExplicitAccess as PEXPLICIT_ACCESS_W, byval pTrusteeName as LPWSTR, byval AccessPermissions as DWORD, byval AccessMode as ACCESS_MODE, byval Inheritance as DWORD) 196 #endif 197 198 declare sub BuildImpersonateExplicitAccessWithNameA(byval pExplicitAccess as PEXPLICIT_ACCESS_A, byval pTrusteeName as LPSTR, byval pTrustee as PTRUSTEE_A, byval AccessPermissions as DWORD, byval AccessMode as ACCESS_MODE, byval Inheritance as DWORD) 199 200 #ifndef UNICODE 201 declare sub BuildImpersonateExplicitAccessWithName alias "BuildImpersonateExplicitAccessWithNameA"(byval pExplicitAccess as PEXPLICIT_ACCESS_A, byval pTrusteeName as LPSTR, byval pTrustee as PTRUSTEE_A, byval AccessPermissions as DWORD, byval AccessMode as ACCESS_MODE, byval Inheritance as DWORD) 202 #endif 203 204 declare sub BuildImpersonateExplicitAccessWithNameW(byval pExplicitAccess as PEXPLICIT_ACCESS_W, byval pTrusteeName as LPWSTR, byval pTrustee as PTRUSTEE_W, byval AccessPermissions as DWORD, byval AccessMode as ACCESS_MODE, byval Inheritance as DWORD) 205 206 #ifdef UNICODE 207 declare sub BuildImpersonateExplicitAccessWithName alias "BuildImpersonateExplicitAccessWithNameW"(byval pExplicitAccess as PEXPLICIT_ACCESS_W, byval pTrusteeName as LPWSTR, byval pTrustee as PTRUSTEE_W, byval AccessPermissions as DWORD, byval AccessMode as ACCESS_MODE, byval Inheritance as DWORD) 208 #endif 209 210 declare sub BuildTrusteeWithNameA(byval pTrustee as PTRUSTEE_A, byval pName as LPSTR) 211 212 #ifndef UNICODE 213 declare sub BuildTrusteeWithName alias "BuildTrusteeWithNameA"(byval pTrustee as PTRUSTEE_A, byval pName as LPSTR) 214 #endif 215 216 declare sub BuildTrusteeWithNameW(byval pTrustee as PTRUSTEE_W, byval pName as LPWSTR) 217 218 #ifdef UNICODE 219 declare sub BuildTrusteeWithName alias "BuildTrusteeWithNameW"(byval pTrustee as PTRUSTEE_W, byval pName as LPWSTR) 220 #endif 221 222 declare sub BuildImpersonateTrusteeA(byval pTrustee as PTRUSTEE_A, byval pImpersonateTrustee as PTRUSTEE_A) 223 224 #ifndef UNICODE 225 declare sub BuildImpersonateTrustee alias "BuildImpersonateTrusteeA"(byval pTrustee as PTRUSTEE_A, byval pImpersonateTrustee as PTRUSTEE_A) 226 #endif 227 228 declare sub BuildImpersonateTrusteeW(byval pTrustee as PTRUSTEE_W, byval pImpersonateTrustee as PTRUSTEE_W) 229 230 #ifdef UNICODE 231 declare sub BuildImpersonateTrustee alias "BuildImpersonateTrusteeW"(byval pTrustee as PTRUSTEE_W, byval pImpersonateTrustee as PTRUSTEE_W) 232 #endif 233 234 declare sub BuildTrusteeWithSidA(byval pTrustee as PTRUSTEE_A, byval pSid as PSID) 235 236 #ifndef UNICODE 237 declare sub BuildTrusteeWithSid alias "BuildTrusteeWithSidA"(byval pTrustee as PTRUSTEE_A, byval pSid as PSID) 238 #endif 239 240 declare sub BuildTrusteeWithSidW(byval pTrustee as PTRUSTEE_W, byval pSid as PSID) 241 242 #ifdef UNICODE 243 declare sub BuildTrusteeWithSid alias "BuildTrusteeWithSidW"(byval pTrustee as PTRUSTEE_W, byval pSid as PSID) 244 #endif 245 246 declare sub BuildTrusteeWithObjectsAndSidA(byval pTrustee as PTRUSTEE_A, byval pObjSid as POBJECTS_AND_SID, byval pObjectGuid as GUID ptr, byval pInheritedObjectGuid as GUID ptr, byval pSid as PSID) 247 248 #ifndef UNICODE 249 declare sub BuildTrusteeWithObjectsAndSid alias "BuildTrusteeWithObjectsAndSidA"(byval pTrustee as PTRUSTEE_A, byval pObjSid as POBJECTS_AND_SID, byval pObjectGuid as GUID ptr, byval pInheritedObjectGuid as GUID ptr, byval pSid as PSID) 250 #endif 251 252 declare sub BuildTrusteeWithObjectsAndSidW(byval pTrustee as PTRUSTEE_W, byval pObjSid as POBJECTS_AND_SID, byval pObjectGuid as GUID ptr, byval pInheritedObjectGuid as GUID ptr, byval pSid as PSID) 253 254 #ifdef UNICODE 255 declare sub BuildTrusteeWithObjectsAndSid alias "BuildTrusteeWithObjectsAndSidW"(byval pTrustee as PTRUSTEE_W, byval pObjSid as POBJECTS_AND_SID, byval pObjectGuid as GUID ptr, byval pInheritedObjectGuid as GUID ptr, byval pSid as PSID) 256 #endif 257 258 declare sub BuildTrusteeWithObjectsAndNameA(byval pTrustee as PTRUSTEE_A, byval pObjName as POBJECTS_AND_NAME_A, byval ObjectType as SE_OBJECT_TYPE, byval ObjectTypeName as LPSTR, byval InheritedObjectTypeName as LPSTR, byval Name as LPSTR) 259 260 #ifndef UNICODE 261 declare sub BuildTrusteeWithObjectsAndName alias "BuildTrusteeWithObjectsAndNameA"(byval pTrustee as PTRUSTEE_A, byval pObjName as POBJECTS_AND_NAME_A, byval ObjectType as SE_OBJECT_TYPE, byval ObjectTypeName as LPSTR, byval InheritedObjectTypeName as LPSTR, byval Name as LPSTR) 262 #endif 263 264 declare sub BuildTrusteeWithObjectsAndNameW(byval pTrustee as PTRUSTEE_W, byval pObjName as POBJECTS_AND_NAME_W, byval ObjectType as SE_OBJECT_TYPE, byval ObjectTypeName as LPWSTR, byval InheritedObjectTypeName as LPWSTR, byval Name as LPWSTR) 265 266 #ifdef UNICODE 267 declare sub BuildTrusteeWithObjectsAndName alias "BuildTrusteeWithObjectsAndNameW"(byval pTrustee as PTRUSTEE_W, byval pObjName as POBJECTS_AND_NAME_W, byval ObjectType as SE_OBJECT_TYPE, byval ObjectTypeName as LPWSTR, byval InheritedObjectTypeName as LPWSTR, byval Name as LPWSTR) 268 #endif 269 270 declare function GetTrusteeNameA(byval pTrustee as PTRUSTEE_A) as LPSTR 271 272 #ifndef UNICODE 273 declare function GetTrusteeName alias "GetTrusteeNameA"(byval pTrustee as PTRUSTEE_A) as LPSTR 274 #endif 275 276 declare function GetTrusteeNameW(byval pTrustee as PTRUSTEE_W) as LPWSTR 277 278 #ifdef UNICODE 279 declare function GetTrusteeName alias "GetTrusteeNameW"(byval pTrustee as PTRUSTEE_W) as LPWSTR 280 #endif 281 282 declare function GetTrusteeTypeA(byval pTrustee as PTRUSTEE_A) as TRUSTEE_TYPE 283 284 #ifndef UNICODE 285 declare function GetTrusteeType alias "GetTrusteeTypeA"(byval pTrustee as PTRUSTEE_A) as TRUSTEE_TYPE 286 #endif 287 288 declare function GetTrusteeTypeW(byval pTrustee as PTRUSTEE_W) as TRUSTEE_TYPE 289 290 #ifdef UNICODE 291 declare function GetTrusteeType alias "GetTrusteeTypeW"(byval pTrustee as PTRUSTEE_W) as TRUSTEE_TYPE 292 #endif 293 294 declare function GetTrusteeFormA(byval pTrustee as PTRUSTEE_A) as TRUSTEE_FORM 295 296 #ifndef UNICODE 297 declare function GetTrusteeForm alias "GetTrusteeFormA"(byval pTrustee as PTRUSTEE_A) as TRUSTEE_FORM 298 #endif 299 300 declare function GetTrusteeFormW(byval pTrustee as PTRUSTEE_W) as TRUSTEE_FORM 301 302 #ifdef UNICODE 303 declare function GetTrusteeForm alias "GetTrusteeFormW"(byval pTrustee as PTRUSTEE_W) as TRUSTEE_FORM 304 #endif 305 306 declare function GetMultipleTrusteeOperationA(byval pTrustee as PTRUSTEE_A) as MULTIPLE_TRUSTEE_OPERATION 307 308 #ifndef UNICODE 309 declare function GetMultipleTrusteeOperation alias "GetMultipleTrusteeOperationA"(byval pTrustee as PTRUSTEE_A) as MULTIPLE_TRUSTEE_OPERATION 310 #endif 311 312 declare function GetMultipleTrusteeOperationW(byval pTrustee as PTRUSTEE_W) as MULTIPLE_TRUSTEE_OPERATION 313 314 #ifdef UNICODE 315 declare function GetMultipleTrusteeOperation alias "GetMultipleTrusteeOperationW"(byval pTrustee as PTRUSTEE_W) as MULTIPLE_TRUSTEE_OPERATION 316 #endif 317 318 declare function GetMultipleTrusteeA(byval pTrustee as PTRUSTEE_A) as PTRUSTEE_A 319 320 #ifndef UNICODE 321 declare function GetMultipleTrustee alias "GetMultipleTrusteeA"(byval pTrustee as PTRUSTEE_A) as PTRUSTEE_A 322 #endif 323 324 declare function GetMultipleTrusteeW(byval pTrustee as PTRUSTEE_W) as PTRUSTEE_W 325 326 #ifdef UNICODE 327 declare function GetMultipleTrustee alias "GetMultipleTrusteeW"(byval pTrustee as PTRUSTEE_W) as PTRUSTEE_W 328 #endif 329 330 #if _WIN32_WINNT >= &h0600 331 declare function TreeSetNamedSecurityInfoA(byval pObjectName as LPSTR, byval ObjectType as SE_OBJECT_TYPE, byval SecurityInfo as SECURITY_INFORMATION, byval pOwner as PSID, byval pGroup as PSID, byval pDacl as PACL, byval pSacl as PACL, byval dwAction as DWORD, byval fnProgress as FN_PROGRESS, byval ProgressInvokeSetting as PROG_INVOKE_SETTING, byval Args as PVOID) as DWORD 332 #endif 333 334 #if (not defined(UNICODE)) and (_WIN32_WINNT >= &h0600) 335 declare function TreeSetNamedSecurityInfo alias "TreeSetNamedSecurityInfoA"(byval pObjectName as LPSTR, byval ObjectType as SE_OBJECT_TYPE, byval SecurityInfo as SECURITY_INFORMATION, byval pOwner as PSID, byval pGroup as PSID, byval pDacl as PACL, byval pSacl as PACL, byval dwAction as DWORD, byval fnProgress as FN_PROGRESS, byval ProgressInvokeSetting as PROG_INVOKE_SETTING, byval Args as PVOID) as DWORD 336 #endif 337 338 #if _WIN32_WINNT >= &h0600 339 declare function TreeSetNamedSecurityInfoW(byval pObjectName as LPWSTR, byval ObjectType as SE_OBJECT_TYPE, byval SecurityInfo as SECURITY_INFORMATION, byval pOwner as PSID, byval pGroup as PSID, byval pDacl as PACL, byval pSacl as PACL, byval dwAction as DWORD, byval fnProgress as FN_PROGRESS, byval ProgressInvokeSetting as PROG_INVOKE_SETTING, byval Args as PVOID) as DWORD 340 #endif 341 342 #if defined(UNICODE) and (_WIN32_WINNT >= &h0600) 343 declare function TreeSetNamedSecurityInfo alias "TreeSetNamedSecurityInfoW"(byval pObjectName as LPWSTR, byval ObjectType as SE_OBJECT_TYPE, byval SecurityInfo as SECURITY_INFORMATION, byval pOwner as PSID, byval pGroup as PSID, byval pDacl as PACL, byval pSacl as PACL, byval dwAction as DWORD, byval fnProgress as FN_PROGRESS, byval ProgressInvokeSetting as PROG_INVOKE_SETTING, byval Args as PVOID) as DWORD 344 #endif 345 346 end extern