diff --git a/PInvoke/Security/AdvApi32/NTLsa.cs b/PInvoke/Security/AdvApi32/NTLsa.cs index 0a5d7abc..04330b2c 100644 --- a/PInvoke/Security/AdvApi32/NTLsa.cs +++ b/PInvoke/Security/AdvApi32/NTLsa.cs @@ -190,6 +190,31 @@ namespace Vanara.PInvoke [PInvokeData("ntlsa.h", MSDNShortId = "55D6FD6F-0FD5-41F6-967B-F5600E19C3EF")] public static extern NTStatus LsaQueryCAPs([In] PSID[] CAPIDs, uint CAPIDCount, out SafeLsaMemoryHandle CAPs, out uint CAPCount); + /// + /// Returns the Central Access Policies (CAPs) for the specified IDs. + /// + /// + /// A pointer to a variable that contains an array of pointers to CAPIDs that identify the CAPs being queried. + /// + /// + /// The number of IDs in the CAPIDs parameter. + /// + /// + /// Receives a pointer to an array of pointers to CENTRAL_ACCESS_POLICY structures representing the queried CAPs. + /// + /// + /// The number of CENTRAL_ACCESS_POLICY structure pointers returned in the CAPs parameter. + /// + /// + /// If the function succeeds, the return value is STATUS_SUCCESS. + /// If the function fails, the return value is an NTSTATUS code, which can be one of the LSA Policy Function Return Values. + /// + // https://docs.microsoft.com/en-us/windows/desktop/api/ntlsa/nf-ntlsa-lsaquerycaps NTSTATUS LsaQueryCAPs( PSID *CAPIDs, ULONG + // CAPIDCount, PCENTRAL_ACCESS_POLICY *CAPs, PULONG CAPCount ); + [DllImport(Lib.AdvApi32, SetLastError = false, ExactSpelling = true)] + [PInvokeData("ntlsa.h", MSDNShortId = "55D6FD6F-0FD5-41F6-967B-F5600E19C3EF")] + public static extern NTStatus LsaQueryCAPs([In] IntPtr CAPIDs, uint CAPIDCount, out SafeLsaMemoryHandle CAPs, out uint CAPCount); + /// /// Represents a central access policy that contains a set of central access policy entries. ///