Fix LSAPR_POLICY_INFORMATION and associated types.
authorEric Kohl <eric.kohl@reactos.org>
Sun, 7 Feb 2010 17:01:57 +0000 (17:01 +0000)
committerEric Kohl <eric.kohl@reactos.org>
Sun, 7 Feb 2010 17:01:57 +0000 (17:01 +0000)
svn path=/trunk/; revision=45489

reactos/dll/win32/lsasrv/lsarpc.c
reactos/include/reactos/idl/lsa.idl

index eb9852f..b94615e 100644 (file)
@@ -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;
index b0f0386..706554a 100644 (file)
@@ -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(