#include <ms-dtyp.idl>
-typedef /*[context_handle]*/ unsigned long LSAPR_HANDLE;
+typedef [handle] LPWSTR PLSAPR_SERVER_NAME;
+
+typedef [context_handle] PVOID LSAPR_HANDLE;
typedef LSAPR_HANDLE *PLSAPR_HANDLE;
cpp_quote("#ifndef _WINNT_H")
-typedef LARGE_INTEGER LUID;
+typedef struct _LUID {
+ ULONG LowPart;
+ LONG HighPart;
+} LUID, *PLUID;
cpp_quote("#endif")
cpp_quote("#ifndef _NTDEF_")
-
typedef long NTSTATUS;
-
typedef struct _STRING {
WORD Length;
WORD MaximumLength;
[size_is(AclSize - 4)] BYTE Dummy1[*];
} LSAPR_ACL, *PLSAPR_ACL;
+cpp_quote("#ifndef _WINNT_H")
typedef WORD SECURITY_DESCRIPTOR_CONTROL, *PSECURITY_DESCRIPTOR_CONTROL;
+cpp_quote("#endif")
typedef struct _LSAPR_SECURITY_DESCRIPTOR {
BYTE Revision;
PSECURITY_QUALITY_OF_SERVICE SecurityQualityOfService;
} LSAPR_OBJECT_ATTRIBUTES, *PLSAPR_OBJECT_ATTRIBUTES;
-typedef unsigned long SECURITY_INFORMATION;
-
typedef struct _LSAPR_POLICY_PRIVILEGE_DEF {
RPC_UNICODE_STRING Name;
LUID LocalValue;
[case(TrustedDomainSupportedEncryptionTypes)] TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES TrustedDomainSETs;
} LSAPR_TRUSTED_DOMAIN_INFO, *PLSAPR_TRUSTED_DOMAIN_INFO;
-cpp_quote("#ifndef _WINNT_H")
-typedef struct _LUID {
- ULONG LowPart;
- LONG HightPart;
-} LUID, *PLUID;
-cpp_quote("#endif")
-
typedef struct _LSAPR_LUID_AND_ATTRIBUTES {
LUID Luid;
DWORD Attributes;
{
/* Function 0 */
NTSTATUS LsarClose(
- [in] handle_t hBinding,
[in, out] LSAPR_HANDLE *ObjectHandle);
/* Function 1 */
NTSTATUS LsarDelete(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE ObjectHandle);
/* Function 2 */
NTSTATUS LsarEnumeratePrivileges(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE PolicyHandle,
[in, out] DWORD *EnumerationContext,
[out] PLSAPR_PRIVILEGE_ENUM_BUFFER EnumerationBuffer,
/* Function 3 */
NTSTATUS LsarQuerySecurityObject(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE ObjectHandle,
[in] SECURITY_INFORMATION SecurityInformation,
[out] PLSAPR_SR_SECURITY_DESCRIPTOR *SecurityDescriptor);
/* Function 4 */
NTSTATUS LsarSetSecurityObject(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE ObjectHandle,
[in] SECURITY_INFORMATION SecurityInformation,
[in] PLSAPR_SR_SECURITY_DESCRIPTOR SecurityDescriptor);
/* Function 5 */
NTSTATUS LsarChangePassword(
- [in] handle_t hBinding,
+ [in] handle_t hBinding, /* FIXME */
[in] PRPC_UNICODE_STRING String1,
[in] PRPC_UNICODE_STRING String2,
[in] PRPC_UNICODE_STRING String3,
/* Function 6 */
NTSTATUS LsarOpenPolicy(
- [in] handle_t hBinding,
- [in, unique] LPWSTR SystemName,
+ [in, unique] PLSAPR_SERVER_NAME SystemName,
[in] PLSAPR_OBJECT_ATTRIBUTES ObjectAttributes,
[in] ACCESS_MASK DesiredAccess,
[out] LSAPR_HANDLE *PolicyHandle);
/* Function 7 */
NTSTATUS LsarQueryInformationPolicy(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE PolicyHandle,
[in] POLICY_INFORMATION_CLASS InformationClass,
[in] unsigned long PolicyInformation);
/* Function 8 */
NTSTATUS LsarSetInformationPolicy(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE PolicyHandle,
[in] POLICY_INFORMATION_CLASS InformationClass,
[out] unsigned long *PolicyInformation);
/* Function 9 */
NTSTATUS LsarClearAuditLog(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE ObjectHandle);
/* Function 10 */
NTSTATUS LsarCreateAccount(
- [in] handle_t hBinding,
+ [in] LSAPR_HANDLE PolicyHandle,
[in] PRPC_SID AccountSid,
[in] ACCESS_MASK DesiredAccess,
[out] LSAPR_HANDLE *AccountHandle);
/* Function 11 */
NTSTATUS LsarEnumerateAccounts(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE PolicyHandle,
[in, out] DWORD *EnumerationContext,
[out] PLSAPR_ACCOUNT_ENUM_BUFFER EnumerationBuffer,
/* Function 12 */
NTSTATUS LsarCreateTrustedDomain(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE PolicyHandle,
[in] PLSAPR_TRUST_INFORMATION TrustedDomainInformation,
[in] ACCESS_MASK DesiredAccess,
/* Function 13 */
NTSTATUS LsarEnumerateTrustedDomains(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE PolicyHandle,
[in, out] DWORD *EnumerationContext,
[out] PLSAPR_TRUSTED_ENUM_BUFFER EnumerationBuffer,
/* Function 14 */
NTSTATUS LsarLookupNames(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE PolicyHandle,
[in] DWORD Count,
[in, size_is(Count)] PRPC_UNICODE_STRING Names,
/* Function 15 */
NTSTATUS LsarLookupSids(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE PolicyHandle,
[in] PLSAPR_SID_ENUM_BUFFER SidEnumBuffer,
[out] PLSAPR_REFERENCED_DOMAIN_LIST *ReferencedDomains,
/* Function 16 */
NTSTATUS LsarCreateSecret(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE PolicyHandle,
[in] PRPC_UNICODE_STRING SecretName,
[in] ACCESS_MASK DesiredAccess,
/* Function 17 */
NTSTATUS LsarOpenAccount(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE PolicyHandle,
[in] PRPC_SID AccountSid,
[in] ACCESS_MASK DesiredAccess,
/* Function 18 */
NTSTATUS LsarEnumeratePrivilegesAccount(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE AccountHandle,
[out] PLSAPR_PRIVILEGE_SET *Privileges);
/* Function 19 */
NTSTATUS LsarAddPrivilegesToAccount(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE AccountHandle,
[in] PLSAPR_PRIVILEGE_SET Privileges);
/* Function 20 */
NTSTATUS LsarRemovePrivilegesFromAccount(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE AccountHandle,
[in] BOOL AllPrivileges,
[in, unique] PLSAPR_PRIVILEGE_SET Privileges);
/* Function 21 */
NTSTATUS LsarGetQuotasForAccount(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE AccountHandle,
[out] PQUOTA_LIMITS QuotaLimits);
/* Function 22 */
NTSTATUS LsarSetQuotasForAccount(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE AccountHandle,
[in] PQUOTA_LIMITS QuotaLimits);
/* Function 23 */
NTSTATUS LsarGetSystemAccessAccount(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE AccountHandle,
[out] ACCESS_MASK *SystemAccess);
/* Function 24 */
NTSTATUS LsarSetSystemAccessAccount(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE AccountHandle,
[in] ACCESS_MASK SystemAccess);
/* Function 25 */
NTSTATUS LsarOpenTrustedDomain(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE PolicyHandle,
[in] PRPC_SID TrustedDomainSid,
[in] ACCESS_MASK DesiredAccess,
/* Function 26 */
NTSTATUS LsarQueryInfoTrustedDomain(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE TrustedDomainHandle,
[in] TRUSTED_INFORMATION_CLASS InformationClass,
[out, switch_is(InformationClass)] PLSAPR_TRUSTED_DOMAIN_INFO *TrustedDomainInformation);
/* Function 27 */
NTSTATUS LsarSetInformationTrustedDomain(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE TrustedDomainHandle,
[in] TRUSTED_INFORMATION_CLASS InformationClass,
[in, switch_is(InformationClass)] PLSAPR_TRUSTED_DOMAIN_INFO TrustedDomainInformation);
/* Function 28 */
NTSTATUS LsarOpenSecret(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE PolicyHandle,
[in] PRPC_UNICODE_STRING SecretName,
[in] ACCESS_MASK DesiredAccess,
/* Function 29 */
NTSTATUS LsarSetSecret(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE *SecretHandle,
[in, unique] PLSAPR_CR_CIPHER_VALUE EncryptedCurrentValue,
[in, unique] PLSAPR_CR_CIPHER_VALUE EncryptedOldValue);
/* Function 30 */
NTSTATUS LsarQuerySecret(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE SecretHandle,
[in, out, unique] PLSAPR_CR_CIPHER_VALUE *EncryptedCurrentValue,
[in, out, unique] PLARGE_INTEGER CurrentValueSetTime,
/* Function 31 */
NTSTATUS LsarLookupPrivilegeValue(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE PolicyHandle,
[in] PRPC_UNICODE_STRING Name,
[out] PLUID Value);
/* Function 32 */
NTSTATUS LsarLookupPrivilegeName(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE PolicyHandle,
[in] PLUID Value,
[out] PRPC_UNICODE_STRING *Name);
/* Function 33 */
NTSTATUS LsarLookupPrivilegeDisplayName(
- [in] handle_t hBinding,
- /*[in] LSAPR_HANDLE PolicyHandle,
- [in] PRPC_UNICODE_STRING Name,
+ [in] LSAPR_HANDLE PolicyHandle, /* FIXME */
+ /*[in] PRPC_UNICODE_STRING Name,
[in] USHORT ClientLanguage,
[in] USHORT ClientSystemDefaultLanguage,
[out] PRPC_UNICODE_STRING *DisplayName,*/
/* Function 34 */
NTSTATUS LsarDeleteObject(
- [in] handle_t hBinding,
[in, out] LSAPR_HANDLE *ObjectHandle);
cpp_quote("#if _WIN32_WINNT >= 0x0351")
/* Function 35 */
NTSTATUS LsarEnumerateAccountsWithUserRight(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE PolicyHandle,
[in, unique] PRPC_UNICODE_STRING UserRight,
[out] PLSAPR_ACCOUNT_ENUM_BUFFER EnumerationBuffer);
/* Function 36 */
NTSTATUS LsarEnmuerateAccountRights(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE PolicyHandle,
[in] PRPC_SID AccountSid,
[out] PLSAPR_USER_RIGHT_SET UserRights);
/* Function 37 */
NTSTATUS LsarAddAccountRights(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE PolicyHandle,
[in] PRPC_SID AccountSid,
[in] PLSAPR_USER_RIGHT_SET UserRights);
/* Function 38 */
NTSTATUS LsarRemoveAccountRights(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE PolicyHandle,
[in] PRPC_SID AccountSid,
[in] BOOL AllRights,
/* Function 39 */
NTSTATUS LsarQueryTrustedDomainInfo(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE PolicyHandle,
[in] PRPC_SID TrustedDomainSid,
[in] TRUSTED_INFORMATION_CLASS InformationClass,
/* Function 40 */
NTSTATUS LsarSetTrustedDomainInfo(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE PolicyHandle,
[in] PRPC_SID TrustedDomainSid,
[in] TRUSTED_INFORMATION_CLASS InformationClass,
/* Function 41 */
NTSTATUS LsarDeleteTrustedDomain(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE PolicyHandle,
[in] PRPC_SID TrustedDomainSid);
/* Function 42 */
NTSTATUS LsarStorePrivateData(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE PolicyHandle,
[in] PRPC_UNICODE_STRING KeyName,
[in, unique] PLSAPR_CR_CIPHER_VALUE EncryptedData);
/* Function 43 */
NTSTATUS LsarRetrievePrivateData(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE PolicyHandle,
[in] PRPC_UNICODE_STRING KeyName,
[in, out] PLSAPR_CR_CIPHER_VALUE *EncryptedData);
/* Function 44 */
NTSTATUS LsarOpenPolicy2(
- [in] handle_t hBinding,
- [in, unique, string] LPWSTR SystemName,
+ [in, unique, string] PLSAPR_SERVER_NAME SystemName,
[in] PLSAPR_OBJECT_ATTRIBUTES ObjectAttributes,
[in] ACCESS_MASK DesiredAccess,
[out] LSAPR_HANDLE *PolicyHandle);
/* Function 45 */
NTSTATUS LsarGetUserName(
- [in] handle_t hBinding,
- [in, unique, string] LPWSTR SystemName,
+ [in, unique, string] PLSAPR_SERVER_NAME SystemName,
[in, out] PRPC_UNICODE_STRING *UserName,
[in, out, unique] PRPC_UNICODE_STRING *DomainName);
/* Function 46 */
NTSTATUS LsarQueryInformationPolicy2(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE PolicyHandle,
[in] POLICY_INFORMATION_CLASS InformationClass,
[out] unsigned long *PolicyInformation);
/* Function 47 */
NTSTATUS LsarSetInformationPolicy2(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE PolicyHandle,
[in] POLICY_INFORMATION_CLASS InformationClass,
[in] unsigned long PolicyInformation);
/* Function 48 */
NTSTATUS LsarQueryTrustedDomainInfoByName(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE PolicyHandle,
[in] PRPC_UNICODE_STRING TrustedDomainName,
[in] POLICY_INFORMATION_CLASS InformationClass,
/* Function 49 */
NTSTATUS LsarSetTrustedDomainInfoByName(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE PolicyHandle,
[in] PRPC_UNICODE_STRING TrustedDomainName,
[in] POLICY_INFORMATION_CLASS InformationClass,
/* Function 50 */
NTSTATUS LsarEnumerateTrustedDomainsEx(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE PolicyHandle,
[in, out] DWORD *EnumerationContext,
[out] PLSAPR_TRUSTED_ENUM_BUFFER_EX EnumerationBuffer,
/* Function 51 */
NTSTATUS LsarCreateTrustedDomainEx(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE PolicyHandle,
[in] PLSAPR_TRUSTED_DOMAIN_INFORMATION_EX TrustedDomainInformation,
[in] PLSAPR_TRUSTED_DOMAIN_AUTH_INFORMATION AuthentificationInformation,
/* Function 52 */
NTSTATUS LsarSetPolicyReplicationHandle(
- [in] handle_t hBinding,
[in, out] PLSAPR_HANDLE PolicyHandle);
/* Function 53 */
NTSTATUS LsarQueryDomainInformationPolicy(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE PolicyHandle,
[in] POLICY_INFORMATION_CLASS InformationClass,
[out] unsigned long *PolicyInformation);
/* Function 54 */
NTSTATUS LsarSetDomainInformationPolicy(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE PolicyHandle,
[in] POLICY_INFORMATION_CLASS InformationClass,
[in] unsigned long PolicyInformation);
/* Function 55 */
NTSTATUS LsarOpenTrustedDomainByName(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE PolicyHandle,
[in] PRPC_UNICODE_STRING TrustedDomainName,
[in] ACCESS_MASK DesiredAccess,
/* Function 57 */
NTSTATUS LsarLookupSids2(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE PolicyHandle,
[in] PLSAPR_SID_ENUM_BUFFER SidEnumBuffer,
[out] PLSAPR_REFERENCED_DOMAIN_LIST *ReferencedDomains,
/* Function 58 */
NTSTATUS LsarLookupNames2(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE PolicyHandle,
[in] DWORD Count,
[in, size_is(Count)] PRPC_UNICODE_STRING Names,
/* Function 59 */
NTSTATUS LsarCreateTrustedDomainEx2(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE PolicyHandle,
[in] PLSAPR_TRUSTED_DOMAIN_INFORMATION_EX TrustedDomainInformation,
[in] PLSAPR_TRUSTED_DOMAIN_AUTH_INFORMATION_INTERNAL AuthentificationInformation,
/* Function 68 */
NTSTATUS LsarLookupNames3(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE PolicyHandle,
[in] DWORD Count,
[in, size_is(Count)] PRPC_UNICODE_STRING Names,
/* Function 73 */
NTSTATUS LsarQueryForestTrustInformation(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE PolicyHandle,
[in] PLSA_UNICODE_STRING TrustedDomainName,
[in] LSA_FOREST_TRUST_RECORD_TYPE HighestRecordType,
/* Function 74 */
NTSTATUS LsarSetForestTrustInformation(
- [in] handle_t hBinding,
[in] LSAPR_HANDLE PolicyHandle,
[in] PLSA_UNICODE_STRING TrustedDomainName,
[in] LSA_FOREST_TRUST_RECORD_TYPE HighestRecordType,
/* Function 76 */
NTSTATUS LsarLookupSids3(
- [in] handle_t hBinding,
+ [in] handle_t hBinding, /* FIXME */
[in] PLSAPR_SID_ENUM_BUFFER SidEnumBuffer,
[out] PLSAPR_REFERENCED_DOMAIN_LIST *ReferencedDomains,
[in, out] PLSAPR_TRANSLATED_NAMES_EX TranslatedNames,
/* Function 77 */
NTSTATUS LsarLookupNames4(
- [in] handle_t hBinding,
+ [in] handle_t hBinding, /* FIXME */
[in] handle_t RpcHandle,
[in] DWORD Count,
[in, size_is(Count)] PRPC_UNICODE_STRING Names,