home *** CD-ROM | disk | FTP | other *** search
/ Kompuutteri K-CD 2002 #1 / K-CD_2002-01.iso / Delphi / INSTALL / program files / Borland / Delphi6 / Source / Rtl / Win / AclAPI.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  2001-05-22  |  18.0 KB  |  290 lines

  1.  
  2. {*******************************************************}
  3. {                                                       }
  4. {       Borland Delphi Run-time Library                 }
  5. {       Win32 Security API Interface Unit               }
  6. {                                                       }
  7. {       Copyright (c) 1985-1999, Microsoft Corporation  }
  8. {                                                       }
  9. {       Translator: Borland Software Corporation        }
  10. {                                                       }
  11. {*******************************************************}
  12.  
  13. unit AclAPI;
  14.  
  15. {$WEAKPACKAGEUNIT}
  16.  
  17. //  Contents:    public header file for acl and trusted server access control
  18. //               APIs
  19.  
  20. interface
  21.  
  22. (*HPPEMIT '#include <aclApi.h>' *)
  23.  
  24. uses
  25.   Windows, AccCtrl;
  26.  
  27. type
  28.   PPSID = ^PSID;
  29.   {$EXTERNALSYM PPSID}
  30.   PPSECURITY_DESCRIPTOR = ^PSECURITY_DESCRIPTOR;
  31.   {$EXTERNALSYM PPSECURITY_DESCRIPTOR}
  32.  
  33. function SetEntriesInAcl(cCountOfExplicitEntries: ULONG; pListOfExplicitEntries: PEXPLICIT_ACCESS_;
  34.          OldAcl: PACL; var NewAcl: PACL): DWORD; stdcall; {use localfree to release NewAcl}
  35. function SetEntriesInAclA(cCountOfExplicitEntries: ULONG; pListOfExplicitEntries: PEXPLICIT_ACCESS_A;
  36.          OldAcl: PACL; var NewAcl: PACL): DWORD; stdcall; {use localfree to release NewAcl}
  37. function SetEntriesInAclW(cCountOfExplicitEntries: ULONG; pListOfExplicitEntries: PEXPLICIT_ACCESS_W;
  38.          OldAcl: PACL; var NewAcl: PACL): DWORD; stdcall; {use localfree to release NewAcl}
  39. function GetExplicitEntriesFromAcl(var pacl: ACL; var pcCountOfExplicitEntries: ULONG;
  40.          pListOfExplicitEntries: PEXPLICIT_ACCESS_): DWORD; stdcall; {use localfree to release pListOfExplicitEntries}
  41. function GetExplicitEntriesFromAclA(var pacl: ACL; var pcCountOfExplicitEntries: ULONG;
  42.          pListOfExplicitEntries: PEXPLICIT_ACCESS_A): DWORD; stdcall; {use localfree to release pListOfExplicitEntries}
  43. function GetExplicitEntriesFromAclW(var pacl: ACL; var pcCountOfExplicitEntries: ULONG;
  44.          pListOfExplicitEntries: PEXPLICIT_ACCESS_W): DWORD; stdcall; {use localfree to release pListOfExplicitEntries}
  45. function GetEffectiveRightsFromAcl(var pacl: ACL; var pTrustee: TRUSTEE_;
  46.          var pAccessRights: ACCESS_MASK): DWORD; stdcall;
  47. function GetEffectiveRightsFromAclA(var pacl: ACL; var pTrustee: TRUSTEE_A;
  48.          var pAccessRights: ACCESS_MASK): DWORD; stdcall;
  49. function GetEffectiveRightsFromAclW(var pacl: ACL; var pTrustee: TRUSTEE_W;
  50.          var pAccessRights: ACCESS_MASK): DWORD; stdcall;
  51. function GetAuditedPermissionsFromAcl(var pacl: ACL; var pTrustee: TRUSTEE_;
  52.          var pSuccessfulAuditedRights: ACCESS_MASK; var pFailedAuditRights: ACCESS_MASK): DWORD; stdcall;
  53. function GetAuditedPermissionsFromAclA(var pacl: ACL; var pTrustee: TRUSTEE_A;
  54.          var pSuccessfulAuditedRights: ACCESS_MASK; var pFailedAuditRights: ACCESS_MASK): DWORD; stdcall;
  55. function GetAuditedPermissionsFromAclW(var pacl: ACL; var pTrustee: TRUSTEE_W;
  56.          var pSuccessfulAuditedRights: ACCESS_MASK; var pFailedAuditRights: ACCESS_MASK): DWORD; stdcall;
  57. function GetNamedSecurityInfo(pObjectName: PAnsiChar; ObjectType: SE_OBJECT_TYPE;
  58.          SecurityInfo: SECURITY_INFORMATION; ppsidOwner, ppsidGroup: PPSID; ppDacl, ppSacl: PACL;
  59.          var ppSecurityDescriptor: PSECURITY_DESCRIPTOR): DWORD; stdcall; {use localfree to release ppSecurityDescriptor}
  60. function GetNamedSecurityInfoA(pObjectName: PAnsiChar; ObjectType: SE_OBJECT_TYPE;
  61.          SecurityInfo: SECURITY_INFORMATION; ppsidOwner, ppsidGroup: PPSID; ppDacl, ppSacl: PACL;
  62.          var ppSecurityDescriptor: PSECURITY_DESCRIPTOR): DWORD; stdcall; {use localfree to release ppSecurityDescriptor}
  63. function GetNamedSecurityInfoW(pObjectName: PAnsiChar; ObjectType: SE_OBJECT_TYPE;
  64.          SecurityInfo: SECURITY_INFORMATION; ppsidOwner, ppsidGroup: PPSID; ppDacl, ppSacl: PACL;
  65.          var ppSecurityDescriptor: PSECURITY_DESCRIPTOR): DWORD; stdcall; {use localfree to release ppSecurityDescriptor}
  66. function GetSecurityInfo(handle: THandle; ObjectType: SE_OBJECT_TYPE;
  67.          SecurityInfo: SECURITY_INFORMATION; ppsidOwner, ppsidGroup: PPSID; ppDacl, ppSacl: PACL;
  68.          var ppSecurityDescriptor: PPSECURITY_DESCRIPTOR): DWORD; stdcall; {use localfree to release ppSecurityDescriptor}
  69.  
  70. function SetNamedSecurityInfo(pObjectName: PAnsiChar; ObjectType: SE_OBJECT_TYPE;
  71.          SecurityInfo: SECURITY_INFORMATION; ppsidOwner, ppsidGroup: PPSID;
  72.          ppDacl, ppSacl: PACL): DWORD; stdcall;
  73. function SetNamedSecurityInfoA(pObjectName: PAnsiChar; ObjectType: SE_OBJECT_TYPE;
  74.          SecurityInfo: SECURITY_INFORMATION; ppsidOwner, ppsidGroup: PPSID;
  75.          ppDacl, ppSacl: PACL): DWORD; stdcall;
  76. function SetNamedSecurityInfoW(pObjectName: PAnsiChar; ObjectType: SE_OBJECT_TYPE;
  77.          SecurityInfo: SECURITY_INFORMATION; ppsidOwner, ppsidGroup: PPSID;
  78.          ppDacl, ppSacl: PACL): DWORD; stdcall;
  79.  
  80. function SetSecurityInfo(handle: THandle; ObjectType: SE_OBJECT_TYPE;
  81.          SecurityInfo: SECURITY_INFORMATION; ppsidOwner, ppsidGroup: PPSID;
  82.          ppDacl, ppSacl: PACL): DWORD; stdcall;
  83.  
  84. //----------------------------------------------------------------------------
  85. // The following API are provided for trusted servers to use to
  86. // implement access control on their own objects.
  87. //----------------------------------------------------------------------------
  88.  
  89. function BuildSecurityDescriptor(pOwner, pGroup: PTRUSTEE_; cCountOfAccessEntries: ULONG;
  90.          pListOfAccessEntries: PEXPLICIT_ACCESS_; cCountOfAuditEntries: ULONG;
  91.          pListOfAuditEntries: PEXPLICIT_ACCESS_; pOldSD: PSECURITY_DESCRIPTOR;
  92.          var pSizeNewSD: ULONG; var pNewSD: SECURITY_DESCRIPTOR): DWORD; stdcall; {use localfree to release pNewSD}
  93. function BuildSecurityDescriptorA(pOwner, pGroup: PTRUSTEE_A; cCountOfAccessEntries: ULONG;
  94.          pListOfAccessEntries: PEXPLICIT_ACCESS_A; cCountOfAuditEntries: ULONG;
  95.          pListOfAuditEntries: PEXPLICIT_ACCESS_A; pOldSD: PSECURITY_DESCRIPTOR;
  96.          var pSizeNewSD: ULONG; var pNewSD: SECURITY_DESCRIPTOR): DWORD; stdcall; {use localfree to release pNewSD}
  97. function BuildSecurityDescriptorW(pOwner, pGroup: PTRUSTEE_W; cCountOfAccessEntries: ULONG;
  98.          pListOfAccessEntries: PEXPLICIT_ACCESS_W; cCountOfAuditEntries: ULONG;
  99.          pListOfAuditEntries: PEXPLICIT_ACCESS_W; pOldSD: PSECURITY_DESCRIPTOR;
  100.          var pSizeNewSD: ULONG; var pNewSD: SECURITY_DESCRIPTOR): DWORD; stdcall; {use localfree to release pNewSD}
  101.  
  102. function LookupSecurityDescriptorParts(pOwner, pGroup: PTRUSTEE_; cCountOfAccessEntries: PULONG;
  103.          pListOfAccessEntries: PEXPLICIT_ACCESS_; cCountOfAuditEntries: PULONG;
  104.          pListOfAuditEntries: PEXPLICIT_ACCESS_; var pSD: SECURITY_DESCRIPTOR): DWORD; stdcall;
  105. function LookupSecurityDescriptorPartsA(pOwner, pGroup: PTRUSTEE_A; cCountOfAccessEntries: PULONG;
  106.          pListOfAccessEntries: PEXPLICIT_ACCESS_A; cCountOfAuditEntries: PULONG;
  107.          pListOfAuditEntries: PEXPLICIT_ACCESS_A; var pSD: SECURITY_DESCRIPTOR): DWORD; stdcall;
  108. function LookupSecurityDescriptorPartsW(pOwner, pGroup: PTRUSTEE_W; cCountOfAccessEntries: PULONG;
  109.          pListOfAccessEntries: PEXPLICIT_ACCESS_W; cCountOfAuditEntries: PULONG;
  110.          pListOfAuditEntries: PEXPLICIT_ACCESS_W; var pSD: SECURITY_DESCRIPTOR): DWORD; stdcall;
  111.  
  112. //----------------------------------------------------------------------------
  113. // The following helper API are provided for building
  114. // access control structures.
  115. //----------------------------------------------------------------------------
  116.  
  117. procedure BuildExplicitAccessWithName(pExplicitAccess: PEXPLICIT_ACCESS_;
  118.           pTrusteeName: PAnsiChar; AccessPermissions: DWORD; AccessMode: ACCESS_MODE;
  119.           Ineritance: DWORD); stdcall;
  120. procedure BuildExplicitAccessWithNameA(pExplicitAccess: PEXPLICIT_ACCESS_A;
  121.           pTrusteeName: PAnsiChar; AccessPermissions: DWORD; AccessMode: ACCESS_MODE;
  122.           Ineritance: DWORD); stdcall;
  123. procedure BuildExplicitAccessWithNameW(pExplicitAccess: PEXPLICIT_ACCESS_W;
  124.           pTrusteeName: PAnsiChar; AccessPermissions: DWORD; AccessMode: ACCESS_MODE;
  125.           Ineritance: DWORD); stdcall;
  126.  
  127. procedure BuildImpersonateExplicitAccessWithName(pExplicitAccess: PEXPLICIT_ACCESS_;
  128.           pTrusteeName: PAnsiChar; pTrustee: PTRUSTEE_; AccessPermissions: DWORD;
  129.           AccessMode: ACCESS_MODE; Inheritance: DWORD); stdcall; {obsolete}
  130. procedure BuildImpersonateExplicitAccessWithNameA(pExplicitAccess: PEXPLICIT_ACCESS_A;
  131.           pTrusteeName: PAnsiChar; pTrustee: PTRUSTEE_A; AccessPermissions: DWORD;
  132.           AccessMode: ACCESS_MODE; Inheritance: DWORD); stdcall; {obsolete}
  133. procedure BuildImpersonateExplicitAccessWithNameW(pExplicitAccess: PEXPLICIT_ACCESS_W;
  134.           pTrusteeName: PAnsiChar; pTrustee: PTRUSTEE_W; AccessPermissions: DWORD;
  135.           AccessMode: ACCESS_MODE; Inheritance: DWORD); stdcall; {obsolete}
  136.  
  137. procedure BuildTrusteeWithName(pTrustee: PTRUSTEE_; pName: PAnsiChar); stdcall;
  138. procedure BuildTrusteeWithNameA(pTrustee: PTRUSTEE_A; pName: PAnsiChar); stdcall;
  139. procedure BuildTrusteeWithNameW(pTrustee: PTRUSTEE_W; pName: PAnsiChar); stdcall;
  140.  
  141. procedure BuildImpersonateTrustee(pTrustee: PTRUSTEE_; pImpersonateTrustee: PTRUSTEE_); stdcall; {obsolete}
  142. procedure BuildImpersonateTrusteeA(pTrustee: PTRUSTEE_A; pImpersonateTrustee: PTRUSTEE_A); stdcall; {obsolete}
  143. procedure BuildImpersonateTrusteeW(pTrustee: PTRUSTEE_W; pImpersonateTrustee: PTRUSTEE_W); stdcall; {obsolete}
  144.  
  145. procedure BuildTrusteeWithSid(pTrustee: PTRUSTEE_; pSidIn: PSID); stdcall;
  146. procedure BuildTrusteeWithSidA(pTrustee: PTRUSTEE_A; pSidIn: PSID); stdcall;
  147. procedure BuildTrusteeWithSidW(pTrustee: PTRUSTEE_W; pSidIn: PSID); stdcall;
  148.  
  149. function GetTrusteeName(var pTrustee: TRUSTEE_): PAnsiChar; stdcall;
  150. function GetTrusteeNameA(var pTrustee: TRUSTEE_A): PAnsiChar; stdcall;
  151. function GetTrusteeNameW(var pTrustee: TRUSTEE_W): PAnsiChar; stdcall;
  152.  
  153. function GetTrusteeType(var pTrustee: TRUSTEE_): TRUSTEE_TYPE; stdcall;
  154. function GetTrusteeTypeA(var pTrustee: TRUSTEE_A): TRUSTEE_TYPE; stdcall;
  155. function GetTrusteeTypeW(var pTrustee: TRUSTEE_W): TRUSTEE_TYPE; stdcall;
  156.  
  157. function GetTrusteeForm(var pTrustee: TRUSTEE_): TRUSTEE_FORM; stdcall;
  158. function GetTrusteeFormA(var pTrustee: TRUSTEE_A): TRUSTEE_FORM; stdcall;
  159. function GetTrusteeFormW(var pTrustee: TRUSTEE_W): TRUSTEE_FORM; stdcall;
  160.  
  161. function GetMultipleTrusteeOperation(pTrustee: PTRUSTEE_): MULTIPLE_TRUSTEE_OPERATION; stdcall; {obsolete}
  162. function GetMultipleTrusteeOperationA(pTrustee: PTRUSTEE_A): MULTIPLE_TRUSTEE_OPERATION; stdcall; {obsolete}
  163. function GetMultipleTrusteeOperationW(pTrustee: PTRUSTEE_W): MULTIPLE_TRUSTEE_OPERATION; stdcall; {obsolete}
  164.  
  165. function GetMultipleTrustee(pTrustee: PTrustee_): PTRUSTEE_; stdcall; {obsolete}
  166. function GetMultipleTrusteeA(pTrustee: PTrustee_A): PTRUSTEE_A; stdcall; {obsolete}
  167. function GetMultipleTrusteeW(pTrustee: PTrustee_W): PTRUSTEE_W; stdcall; {obsolete}
  168.  
  169. implementation
  170.  
  171. const
  172.   ModName = 'ADVAPI32.DLL';
  173.  
  174. procedure BuildExplicitAccessWithName;  external ModName name 'BuildExplicitAccessWithNameA';
  175. {$EXTERNALSYM BuildExplicitAccessWithName}
  176. procedure BuildExplicitAccessWithNameA;  external ModName name 'BuildExplicitAccessWithNameA';
  177. {$EXTERNALSYM BuildExplicitAccessWithNameA}
  178. procedure BuildExplicitAccessWithNameW;  external ModName name 'BuildExplicitAccessWithNameW';
  179. {$EXTERNALSYM BuildExplicitAccessWithNameW}
  180. procedure BuildImpersonateExplicitAccessWithName; external ModName name 'BuildImpersonateExplicitAccessWithNameA';
  181. {$EXTERNALSYM BuildImpersonateExplicitAccessWithName}
  182. procedure BuildImpersonateExplicitAccessWithNameA; external ModName name 'BuildImpersonateExplicitAccessWithNameA';
  183. {$EXTERNALSYM BuildImpersonateExplicitAccessWithNameA}
  184. procedure BuildImpersonateExplicitAccessWithNameW; external ModName name 'BuildImpersonateExplicitAccessWithNameW';
  185. {$EXTERNALSYM BuildImpersonateExplicitAccessWithNameW}
  186. procedure BuildImpersonateTrustee;      external ModName name 'BuildImpersonateTrusteeA';
  187. {$EXTERNALSYM BuildImpersonateTrustee}
  188. procedure BuildImpersonateTrusteeA;      external ModName name 'BuildImpersonateTrusteeA';
  189. {$EXTERNALSYM BuildImpersonateTrusteeA}
  190. procedure BuildImpersonateTrusteeW;      external ModName name 'BuildImpersonateTrusteeW';
  191. {$EXTERNALSYM BuildImpersonateTrusteeW}
  192. function BuildSecurityDescriptor;      external ModName name 'BuildSecurityDescriptorA';
  193. {$EXTERNALSYM BuildSecurityDescriptor}
  194. function BuildSecurityDescriptorA;      external ModName name 'BuildSecurityDescriptorA';
  195. {$EXTERNALSYM BuildSecurityDescriptorA}
  196. function BuildSecurityDescriptorW;      external ModName name 'BuildSecurityDescriptorW';
  197. {$EXTERNALSYM BuildSecurityDescriptorW}
  198. procedure BuildTrusteeWithName;         external ModName name 'BuildTrusteeWithNameA';
  199. {$EXTERNALSYM BuildTrusteeWithName}
  200. procedure BuildTrusteeWithNameA;         external ModName name 'BuildTrusteeWithNameA';
  201. {$EXTERNALSYM BuildTrusteeWithNameA}
  202. procedure BuildTrusteeWithNameW;         external ModName name 'BuildTrusteeWithNameW';
  203. {$EXTERNALSYM BuildTrusteeWithNameW}
  204. procedure BuildTrusteeWithSid;          external ModName name 'BuildTrusteeWithSidA';
  205. {$EXTERNALSYM BuildTrusteeWithSid}
  206. procedure BuildTrusteeWithSidA;          external ModName name 'BuildTrusteeWithSidA';
  207. {$EXTERNALSYM BuildTrusteeWithSidA}
  208. procedure BuildTrusteeWithSidW;          external ModName name 'BuildTrusteeWithSidW';
  209. {$EXTERNALSYM BuildTrusteeWithSidW}
  210. function GetAuditedPermissionsFromAcl; external ModName name 'GetAuditedPermissionsFromAclA';
  211. {$EXTERNALSYM GetAuditedPermissionsFromAcl}
  212. function GetAuditedPermissionsFromAclA; external ModName name 'GetAuditedPermissionsFromAclA';
  213. {$EXTERNALSYM GetAuditedPermissionsFromAclA}
  214. function GetAuditedPermissionsFromAclW; external ModName name 'GetAuditedPermissionsFromAclW';
  215. {$EXTERNALSYM GetAuditedPermissionsFromAclW}
  216. function GetEffectiveRightsFromAcl;    external ModName name 'GetEffectiveRightsFromAclA';
  217. {$EXTERNALSYM GetEffectiveRightsFromAcl}
  218. function GetEffectiveRightsFromAclA;    external ModName name 'GetEffectiveRightsFromAclA';
  219. {$EXTERNALSYM GetEffectiveRightsFromAclA}
  220. function GetEffectiveRightsFromAclW;    external ModName name 'GetEffectiveRightsFromAclW';
  221. {$EXTERNALSYM GetEffectiveRightsFromAclW}
  222. function GetExplicitEntriesFromAcl;    external ModName name 'GetExplicitEntriesFromAclA';
  223. {$EXTERNALSYM GetExplicitEntriesFromAcl}
  224. function GetExplicitEntriesFromAclA;    external ModName name 'GetExplicitEntriesFromAclA';
  225. {$EXTERNALSYM GetExplicitEntriesFromAclA}
  226. function GetExplicitEntriesFromAclW;    external ModName name 'GetExplicitEntriesFromAclW';
  227. {$EXTERNALSYM GetExplicitEntriesFromAclW}
  228. function GetMultipleTrusteeOperation;  external ModName name 'GetMultipleTrusteeOperationA';
  229. {$EXTERNALSYM GetMultipleTrusteeOperation}
  230. function GetMultipleTrusteeOperationA;  external ModName name 'GetMultipleTrusteeOperationA';
  231. {$EXTERNALSYM GetMultipleTrusteeOperationA}
  232. function GetMultipleTrusteeOperationW;  external ModName name 'GetMultipleTrusteeOperationW';
  233. {$EXTERNALSYM GetMultipleTrusteeOperationW}
  234. function GetMultipleTrustee;           external ModName name 'GetMultipleTrusteeA';
  235. {$EXTERNALSYM GetMultipleTrustee}
  236. function GetMultipleTrusteeA;           external ModName name 'GetMultipleTrusteeA';
  237. {$EXTERNALSYM GetMultipleTrusteeA}
  238. function GetMultipleTrusteeW;           external ModName name 'GetMultipleTrusteeW';
  239. {$EXTERNALSYM GetMultipleTrusteeW}
  240. function GetNamedSecurityInfo;         external ModName name 'GetNamedSecurityInfoA';
  241. {$EXTERNALSYM GetNamedSecurityInfo}
  242. function GetNamedSecurityInfoA;         external ModName name 'GetNamedSecurityInfoA';
  243. {$EXTERNALSYM GetNamedSecurityInfoA}
  244. function GetNamedSecurityInfoW;         external ModName name 'GetNamedSecurityInfoW';
  245. {$EXTERNALSYM GetNamedSecurityInfoW}
  246. function GetSecurityInfo;               external ModName name 'GetSecurityInfo';
  247. {$EXTERNALSYM GetSecurityInfo}
  248. function GetTrusteeForm;               external ModName name 'GetTrusteeFormA';
  249. {$EXTERNALSYM GetTrusteeForm}
  250. function GetTrusteeFormA;               external ModName name 'GetTrusteeFormA';
  251. {$EXTERNALSYM GetTrusteeFormA}
  252. function GetTrusteeFormW;               external ModName name 'GetTrusteeFormW';
  253. {$EXTERNALSYM GetTrusteeFormW}
  254. function GetTrusteeName;               external ModName name 'GetTrusteeNameA';
  255. {$EXTERNALSYM GetTrusteeName}
  256. function GetTrusteeNameA;               external ModName name 'GetTrusteeNameA';
  257. {$EXTERNALSYM GetTrusteeNameA}
  258. function GetTrusteeNameW;               external ModName name 'GetTrusteeNameW';
  259. {$EXTERNALSYM GetTrusteeNameW}
  260. function GetTrusteeType;               external ModName name 'GetTrusteeTypeA';
  261. {$EXTERNALSYM GetTrusteeType}
  262. function GetTrusteeTypeA;               external ModName name 'GetTrusteeTypeA';
  263. {$EXTERNALSYM GetTrusteeTypeA}
  264. function GetTrusteeTypeW;               external ModName name 'GetTrusteeTypeW';
  265. {$EXTERNALSYM GetTrusteeTypeW}
  266. function LookupSecurityDescriptorParts; external ModName name 'LookupSecurityDescriptorPartsA';
  267. {$EXTERNALSYM LookupSecurityDescriptorParts}
  268. function LookupSecurityDescriptorPartsA; external ModName name 'LookupSecurityDescriptorPartsA';
  269. {$EXTERNALSYM LookupSecurityDescriptorPartsA}
  270. function LookupSecurityDescriptorPartsW; external ModName name 'LookupSecurityDescriptorPartsW';
  271. {$EXTERNALSYM LookupSecurityDescriptorPartsW}
  272. function SetEntriesInAcl;              external ModName name 'SetEntriesInAclA';
  273. {$EXTERNALSYM SetEntriesInAcl}
  274. function SetEntriesInAclA;              external ModName name 'SetEntriesInAclA';
  275. {$EXTERNALSYM SetEntriesInAclA}
  276. function SetEntriesInAclW;              external ModName name 'SetEntriesInAclW';
  277. {$EXTERNALSYM SetEntriesInAclW}
  278. function SetNamedSecurityInfo;         external ModName name 'SetNamedSecurityInfoA';
  279. {$EXTERNALSYM SetNamedSecurityInfo}
  280. function SetNamedSecurityInfoA;         external ModName name 'SetNamedSecurityInfoA';
  281. {$EXTERNALSYM SetNamedSecurityInfoA}
  282. function SetNamedSecurityInfoW;         external ModName name 'SetNamedSecurityInfoW';
  283. {$EXTERNALSYM SetNamedSecurityInfoW}
  284. function SetSecurityInfo;               external ModName name 'SetSecurityInfo';
  285. {$EXTERNALSYM SetSecurityInfo}
  286.  
  287. end.
  288.  
  289.  
  290.