From 3b550eb81b8e7b1df74b25f10251b5b7a6591d27 Mon Sep 17 00:00:00 2001 From: Eric Kohl Date: Sun, 7 Feb 2010 17:01:57 +0000 Subject: [PATCH] Fix LSAPR_POLICY_INFORMATION and associated types. svn path=/trunk/; revision=45489 --- reactos/dll/win32/lsasrv/lsarpc.c | 4 ++-- reactos/include/reactos/idl/lsa.idl | 30 +++++++++++++---------------- 2 files changed, 15 insertions(+), 19 deletions(-) diff --git a/reactos/dll/win32/lsasrv/lsarpc.c b/reactos/dll/win32/lsasrv/lsarpc.c index eb9852f1176..b94615ebcd9 100644 --- a/reactos/dll/win32/lsasrv/lsarpc.c +++ b/reactos/dll/win32/lsasrv/lsarpc.c @@ -229,7 +229,7 @@ NTSTATUS LsarOpenPolicy( NTSTATUS LsarQueryInformationPolicy( LSAPR_HANDLE PolicyHandle, POLICY_INFORMATION_CLASS InformationClass, - unsigned long PolicyInformation) + PLSAPR_POLICY_INFORMATION *PolicyInformation) { UNIMPLEMENTED; return STATUS_NOT_IMPLEMENTED; @@ -240,7 +240,7 @@ NTSTATUS LsarQueryInformationPolicy( NTSTATUS LsarSetInformationPolicy( LSAPR_HANDLE PolicyHandle, POLICY_INFORMATION_CLASS InformationClass, - unsigned long *PolicyInformation) + PLSAPR_POLICY_INFORMATION PolicyInformation) { UNIMPLEMENTED; return STATUS_NOT_IMPLEMENTED; diff --git a/reactos/include/reactos/idl/lsa.idl b/reactos/include/reactos/idl/lsa.idl index b0f038692f1..706554a0717 100644 --- a/reactos/include/reactos/idl/lsa.idl +++ b/reactos/include/reactos/idl/lsa.idl @@ -302,13 +302,11 @@ typedef struct _POLICY_MODIFICATION_INFO { LARGE_INTEGER ModifiedId; LARGE_INTEGER DatabaseCreationTime; } POLICY_MODIFICATION_INFO, *PPOLICY_MODIFICATION_INFO; -cpp_quote("#endif") -typedef struct _POLICY_FULL_SET_INFO { +typedef struct _POLICY_AUDIT_FULL_SET_INFO { BOOL ShutDownOnFull; -} POLICY_FULL_SET_INFO, *PPOLICY_FULL_SET_INFO; +} POLICY_AUDIT_FULL_SET_INFO, *PPOLICY_AUDIT_FULL_SET_INFO; -cpp_quote("#ifndef _NTSECAPI_H") typedef struct _POLICY_AUDIT_FULL_QUERY_INFO { BOOL ShutDownOnFull; BOOL LogIsFull; @@ -323,23 +321,23 @@ typedef struct _LSAPR_POLICY_DNS_DOMAIN_INFO { PRPC_SID Sid; } LSAPR_POLICY_DNS_DOMAIN_INFO, *PLSAPR_POLICY_DNS_DOMAIN_INFO; -/*typedef +typedef [switch_type(POLICY_INFORMATION_CLASS)] union _LSAPR_POLICY_INFORMATION { [case(PolicyAuditLogInformation)] POLICY_AUDIT_LOG_INFO PolicyAuditLogInfo; - [case(PolicyAuditEventsInformation)] POLICY_AUDIT_EVENTS_INFO PolicyAuditEventsInfo; - [case(PolicyPrimaryDomainInformation)] POLICY_PRIMARY_DOM_INFO PolicyPrimaryDomInfo; - [case(PolicyPdAccountInformation)] POLICY_PD_ACCOUNT_INFO PolicyPdAccountInfo; - [case(PolicyAccountDomainInformation)] POLICY_ACCOUNT_DOM_INFO PolicyAccountDomainInfo; + [case(PolicyAuditEventsInformation)] LSAPR_POLICY_AUDIT_EVENTS_INFO PolicyAuditEventsInfo; + [case(PolicyPrimaryDomainInformation)] LSAPR_POLICY_PRIMARY_DOM_INFO PolicyPrimaryDomInfo; + [case(PolicyPdAccountInformation)] LSAPR_POLICY_PD_ACCOUNT_INFO PolicyPdAccountInfo; + [case(PolicyAccountDomainInformation)] LSAPR_POLICY_ACCOUNT_DOM_INFO PolicyAccountDomainInfo; [case(PolicyLsaServerRoleInformation)] POLICY_LSA_SERVER_ROLE_INFO PolicyServerRoleInfo; - [case(PolicyReplicaSourceInformation)] POLICY_REPLICA_SRCE_INFO PolicyReplicaSourceInfo; + [case(PolicyReplicaSourceInformation)] POLICY_LSA_REPLICA_SRCE_INFO PolicyReplicaSourceInfo; [case(PolicyDefaultQuotaInformation)] POLICY_DEFAULT_QUOTA_INFO PolicyDefaultQuotaInfo; [case(PolicyModificationInformation)] POLICY_MODIFICATION_INFO PolicyModificationInfo; [case(PolicyAuditFullSetInformation)] POLICY_AUDIT_FULL_SET_INFO PolicyAuditFullSetInfo; [case(PolicyAuditFullQueryInformation)] POLICY_AUDIT_FULL_QUERY_INFO PolicyAuditFullQueryInfo; - [case(PolicyDnsDomainInformation)] LSAPR_DNS_DOMAIN_INFO PolicyDnsDomainInfo; - [case(PolicyDnsDomainInformationInt)] LSAPR_DNS_DOMAIN_INFO PolicyDnsDomainInfoInt; + [case(PolicyDnsDomainInformation)] LSAPR_POLICY_DNS_DOMAIN_INFO PolicyDnsDomainInfo; + [case(PolicyDnsDomainInformationInt)] LSAPR_POLICY_DNS_DOMAIN_INFO PolicyDnsDomainInfoInt; [case(PolicyLocalAccountDomainInformation)] LSAPR_POLICY_ACCOUNT_DOM_INFO PolicyLocalAccountDomainInfo; -} LSAPR_POLICY_INFORMATION, *PLSAPR_POLICY_INFORMATION;*/ +} LSAPR_POLICY_INFORMATION, *PLSAPR_POLICY_INFORMATION; typedef struct _LSAPR_TRUSTED_ENUM_BUFFER { DWORD EntriesRead; @@ -639,15 +637,13 @@ interface lsarpc NTSTATUS LsarQueryInformationPolicy( [in] LSAPR_HANDLE PolicyHandle, [in] POLICY_INFORMATION_CLASS InformationClass, - [in] unsigned long PolicyInformation); - /* FIXME: should be [in, switch_is(InformationClass)] PLSAPR_POLICY_INFORMATION PolicyInformation); */ + [out, switch_is(InformationClass)] PLSAPR_POLICY_INFORMATION *PolicyInformation); /* Function 8 */ NTSTATUS LsarSetInformationPolicy( [in] LSAPR_HANDLE PolicyHandle, [in] POLICY_INFORMATION_CLASS InformationClass, - [out] unsigned long *PolicyInformation); - /* FIXME: should be [out, switch_is(InformationClass)] PLSAPR_POLICY_INFORMATION *PolicyInformation); */ + [in, switch_is(InformationClass)] PLSAPR_POLICY_INFORMATION PolicyInformation); /* Function 9 */ NTSTATUS LsarClearAuditLog( -- 2.17.1