Compile advapi32 using w32api.
authorEric Kohl <eric.kohl@reactos.org>
Thu, 17 Jun 2004 09:07:12 +0000 (09:07 +0000)
committerEric Kohl <eric.kohl@reactos.org>
Thu, 17 Jun 2004 09:07:12 +0000 (09:07 +0000)
svn path=/trunk/; revision=9695

reactos/include/accctrl.h
reactos/include/ascii.h
reactos/include/ntsecapi.h
reactos/include/unicode.h
reactos/lib/advapi32/makefile
reactos/lib/advapi32/misc/hwprofiles.c
reactos/lib/advapi32/misc/logon.c
reactos/lib/advapi32/reg/reg.c
reactos/lib/advapi32/sec/lsa.c
reactos/lib/advapi32/token/privilege.c
reactos/w32api/include/ntsecapi.h

index 7c3b609..2ffe937 100644 (file)
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
 
+#ifdef __USE_W32API
+#include_next <accctrl.h>
+#else
+
 #ifndef __WINE_ACCCTRL_H
 #define __WINE_ACCCTRL_H
 
@@ -463,3 +467,5 @@ typedef struct _FN_OBJECT_MGR_FUNCTIONS
 #endif
 
 #endif /* __WINE_ACCCTRL_H */
+
+#endif /* __USE_W32API */
index 8a05a88..c694424 100644 (file)
@@ -94,9 +94,9 @@ GetCurrentHwProfileA (
 WINBOOL
 STDCALL
 LogonUserA (
- LPCSTR lpszUsername,
- LPCSTR lpszDomain,
- LPCSTR lpszPassword,
+ LPSTR lpszUsername,
+ LPSTR lpszDomain,
+ LPSTR lpszPassword,
  DWORD dwLogonType,
  DWORD dwLogonProvider,
  PHANDLE phToken
index eccd0cc..3eca6a7 100644 (file)
@@ -122,18 +122,19 @@ typedef PVOID LSA_HANDLE, *PLSA_HANDLE;
 
 typedef enum
 {
-       PolicyAuditLogInformation = 1,
-       PolicyAuditEventsInformation,
-       PolicyPrimaryDomainInformation,
-       PolicyPdAccountInformation,
-       PolicyAccountDomainInformation,
-       PolicyLsaServerRoleInformation,
-       PolicyReplicaSourceInformation,
-       PolicyDefaultQuotaInformation,
-       PolicyModificationInformation,
-       PolicyAuditFullSetInformation,
-       PolicyAuditFullQueryInformation,
-       PolicyDnsDomainInformation
+  PolicyAuditLogInformation = 1,
+  PolicyAuditEventsInformation,
+  PolicyPrimaryDomainInformation,
+  PolicyPdAccountInformation,
+  PolicyAccountDomainInformation,
+  PolicyLsaServerRoleInformation,
+  PolicyReplicaSourceInformation,
+  PolicyDefaultQuotaInformation,
+  PolicyModificationInformation,
+  PolicyAuditFullSetInformation,
+  PolicyAuditFullQueryInformation,
+  PolicyDnsDomainInformation,
+  PolicyEfsInformation
 } POLICY_INFORMATION_CLASS, *PPOLICY_INFORMATION_CLASS;
 
 typedef ULONG POLICY_AUDIT_EVENT_OPTIONS, *PPOLICY_AUDIT_EVENT_OPTIONS;
@@ -484,7 +485,7 @@ STDCALL
 LsaRemoveAccountRights(
     LSA_HANDLE PolicyHandle,
     PSID AccountSid,
-    WINBOOL AllRights,
+    BOOLEAN AllRights,
     PLSA_UNICODE_STRING UserRights,
     ULONG CountOfRights
     );
index a25ac4d..e7d5e74 100644 (file)
@@ -95,9 +95,9 @@ GetCurrentHwProfileW (
 WINBOOL
 STDCALL
 LogonUserW (
- LPCWSTR lpszUsername,
- LPCWSTR lpszDomain,
- LPCWSTR lpszPassword,
+ LPWSTR lpszUsername,
+ LPWSTR lpszDomain,
+ LPWSTR lpszPassword,
  DWORD dwLogonType,
  DWORD dwLogonProvider,
  PHANDLE phToken
index e4ff852..9a96ad9 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: makefile,v 1.40 2004/05/29 21:24:42 hbirr Exp $
+# $Id: makefile,v 1.41 2004/06/17 09:07:12 ekohl Exp $
 
 PATH_TO_TOP = ../..
 
@@ -6,12 +6,12 @@ TARGET_TYPE = dynlink
 
 TARGET_NAME = advapi32
 
-TARGET_CFLAGS = -Wall -Werror -fno-builtin
+TARGET_CFLAGS = -Wall -Werror -fno-builtin -D__USE_W32API
 # TARGET_CFLAGS += -DUNICODE
 
 TARGET_LFLAGS = -nostartfiles -nostdlib
 
-TARGET_SDKLIBS = ntdll.a kernel32.a libwine.a msvcrt.a
+TARGET_SDKLIBS = ntdll.a kernel32.a
 
 TARGET_BASE = $(TARGET_BASE_LIB_ADVAPI32)
 
index f0f1871..d89b9d8 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: hwprofiles.c,v 1.1 2004/02/25 23:12:39 sedwards Exp $
+/* $Id: hwprofiles.c,v 1.2 2004/06/17 09:07:12 ekohl Exp $
  *
  * COPYRIGHT:       See COPYING in the top level directory
  * PROJECT:         ReactOS system libraries
@@ -8,8 +8,9 @@
  * UPDATE HISTORY:
  *     20042502
  */
-#include <debug.h>
+#include <ddk/ntddk.h>
 #include <windows.h>
+#include <debug.h>
 
 /******************************************************************************
  * GetCurrentHwProfileA [ADVAPI32.@]
@@ -23,7 +24,8 @@
  *  Success: TRUE. pInfo is updated with the hardware profile details.
  *  Failure: FALSE.
  */
-BOOL STDCALL GetCurrentHwProfileA(LPHW_PROFILE_INFOA pInfo)
+BOOL STDCALL
+GetCurrentHwProfileA(LPHW_PROFILE_INFOA pInfo)
 {
        DPRINT("GetCurrentHwProfileA stub\n");
        return 1;
index 83a12a9..73fc8f1 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: logon.c,v 1.5 2004/03/09 15:04:28 ekohl Exp $
+/* $Id: logon.c,v 1.6 2004/06/17 09:07:12 ekohl Exp $
  *
  * COPYRIGHT:   See COPYING in the top level directory
  * PROJECT:     ReactOS system libraries
@@ -130,9 +130,9 @@ CreateProcessAsUserW (HANDLE hToken,
  * @unimplemented
  */
 BOOL STDCALL
-LogonUserA (LPCSTR lpszUsername,
-           LPCSTR lpszDomain,
-           LPCSTR lpszPassword,
+LogonUserA (LPSTR lpszUsername,
+           LPSTR lpszDomain,
+           LPSTR lpszPassword,
            DWORD dwLogonType,
            DWORD dwLogonProvider,
            PHANDLE phToken)
@@ -241,9 +241,9 @@ SamGetUserSid (LPCWSTR UserName,
  * @unimplemented
  */
 BOOL STDCALL
-LogonUserW (LPCWSTR lpszUsername,
-           LPCWSTR lpszDomain,
-           LPCWSTR lpszPassword,
+LogonUserW (LPWSTR lpszUsername,
+           LPWSTR lpszDomain,
+           LPWSTR lpszPassword,
            DWORD dwLogonType,
            DWORD dwLogonProvider,
            PHANDLE phToken)
index 843e941..1f720b9 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: reg.c,v 1.46 2004/04/03 13:12:43 gvg Exp $
+/* $Id: reg.c,v 1.47 2004/06/17 09:07:12 ekohl Exp $
  *
  * COPYRIGHT:       See COPYING in the top level directory
  * PROJECT:         ReactOS system libraries
@@ -37,7 +37,7 @@ static HANDLE ProcessHeap;
 
 /* PROTOTYPES ***************************************************************/
 
-static NTSTATUS MapDefaultKey (PHKEY ParentKey, HKEY Key);
+static NTSTATUS MapDefaultKey (PHANDLE ParentKey, HKEY Key);
 static VOID CloseDefaultKeys(VOID);
 
 static NTSTATUS OpenClassesRootKey(PHANDLE KeyHandle);
@@ -81,7 +81,7 @@ RegCleanup (VOID)
 
 
 static NTSTATUS
-MapDefaultKey (PHKEY RealKey,
+MapDefaultKey (PHANDLE RealKey,
               HKEY Key)
 {
   PHANDLE Handle;
@@ -92,7 +92,7 @@ MapDefaultKey (PHKEY RealKey,
 
   if (((ULONG)Key & 0xF0000000) != 0x80000000)
     {
-      *RealKey = Key;
+      *RealKey = (HANDLE)Key;
       return STATUS_SUCCESS;
     }
 
@@ -148,7 +148,7 @@ MapDefaultKey (PHKEY RealKey,
 
   if (NT_SUCCESS(Status))
     {
-      *RealKey = (HKEY)*Handle;
+      *RealKey = *Handle;
     }
 
    return Status;
@@ -332,7 +332,7 @@ RegCreateKeyExA (HKEY hKey,
   UNICODE_STRING SubKeyString;
   UNICODE_STRING ClassString;
   OBJECT_ATTRIBUTES Attributes;
-  HKEY ParentKey;
+  HANDLE ParentKey;
   LONG ErrorCode;
   NTSTATUS Status;
 
@@ -361,7 +361,7 @@ RegCreateKeyExA (HKEY hKey,
                              OBJ_CASE_INSENSITIVE,
                              (HANDLE)ParentKey,
                              (PSECURITY_DESCRIPTOR)lpSecurityAttributes);
-  Status = NtCreateKey (phkResult,
+  Status = NtCreateKey ((PHANDLE)phkResult,
                        samDesired,
                        &Attributes,
                        0,
@@ -404,7 +404,7 @@ RegCreateKeyExW (HKEY hKey,
   UNICODE_STRING SubKeyString;
   UNICODE_STRING ClassString;
   OBJECT_ATTRIBUTES Attributes;
-  HKEY ParentKey;
+  HANDLE ParentKey;
   LONG ErrorCode;
   NTSTATUS Status;
 
@@ -430,7 +430,7 @@ RegCreateKeyExW (HKEY hKey,
                              OBJ_CASE_INSENSITIVE,
                              (HANDLE)ParentKey,
                              (PSECURITY_DESCRIPTOR)lpSecurityAttributes);
-  Status = NtCreateKey (phkResult,
+  Status = NtCreateKey ((PHANDLE)phkResult,
                        samDesired,
                        &Attributes,
                        0,
@@ -504,7 +504,7 @@ RegDeleteKeyA (HKEY hKey,
 {
   OBJECT_ATTRIBUTES ObjectAttributes;
   UNICODE_STRING SubKeyName;
-  HKEY ParentKey;
+  HANDLE ParentKey;
   HANDLE TargetKey;
   NTSTATUS Status;
   LONG ErrorCode;
@@ -561,7 +561,7 @@ RegDeleteKeyW (HKEY hKey,
 {
   OBJECT_ATTRIBUTES ObjectAttributes;
   UNICODE_STRING SubKeyName;
-  HKEY ParentKey;
+  HANDLE ParentKey;
   HANDLE TargetKey;
   NTSTATUS Status;
   LONG ErrorCode;
@@ -615,7 +615,7 @@ RegDeleteValueA (HKEY hKey,
                 LPCSTR lpValueName)
 {
   UNICODE_STRING ValueName;
-  HKEY KeyHandle;
+  HANDLE KeyHandle;
   LONG ErrorCode;
   NTSTATUS Status;
 
@@ -656,7 +656,7 @@ RegDeleteValueW (HKEY hKey,
   UNICODE_STRING ValueName;
   NTSTATUS Status;
   LONG ErrorCode;
-  HKEY KeyHandle;
+  HANDLE KeyHandle;
 
   Status = MapDefaultKey (&KeyHandle,
                          hKey);
@@ -761,7 +761,7 @@ RegEnumKeyExA (HKEY hKey,
   DWORD ClassLength;
   DWORD BufferSize;
   DWORD ResultSize;
-  HKEY KeyHandle;
+  HANDLE KeyHandle;
   NTSTATUS Status;
 
   DPRINT("RegEnumKeyExA(hKey 0x%x, dwIndex %d, lpName 0x%x, *lpcbName %d, lpClass 0x%x, lpcbClass %d)\n",
@@ -936,7 +936,7 @@ RegEnumKeyExW (HKEY hKey,
   ULONG ResultSize;
   ULONG NameLength;
   ULONG ClassLength;
-  HKEY KeyHandle;
+  HANDLE KeyHandle;
   LONG ErrorCode = ERROR_SUCCESS;
   NTSTATUS Status;
 
@@ -1088,7 +1088,7 @@ RegEnumValueA (HKEY hKey,
   ULONG BufferSize;
   ULONG DataLength;
   ULONG ResultSize;
-  HKEY KeyHandle;
+  HANDLE KeyHandle;
   LONG ErrorCode;
   NTSTATUS Status;
   UNICODE_STRING StringU;
@@ -1255,7 +1255,7 @@ RegEnumValueW (HKEY hKey,
   ULONG BufferSize;
   ULONG DataLength;
   ULONG ResultSize;
-  HKEY KeyHandle;
+  HANDLE KeyHandle;
   LONG ErrorCode;
   NTSTATUS Status;
 
@@ -1373,7 +1373,7 @@ RegEnumValueW (HKEY hKey,
 LONG STDCALL
 RegFlushKey(HKEY hKey)
 {
-  HKEY KeyHandle;
+  HANDLE KeyHandle;
   LONG ErrorCode;
   NTSTATUS Status;
 
@@ -1618,7 +1618,7 @@ RegOpenKeyA (HKEY hKey,
 {
   OBJECT_ATTRIBUTES ObjectAttributes;
   UNICODE_STRING SubKeyString;
-  HKEY KeyHandle;
+  HANDLE KeyHandle;
   LONG ErrorCode;
   NTSTATUS Status;
 
@@ -1638,7 +1638,7 @@ RegOpenKeyA (HKEY hKey,
                              OBJ_CASE_INSENSITIVE,
                              KeyHandle,
                              NULL);
-  Status = NtOpenKey (phkResult,
+  Status = NtOpenKey ((PHANDLE)phkResult,
                      MAXIMUM_ALLOWED,
                      &ObjectAttributes);
   RtlFreeUnicodeString (&SubKeyString);
@@ -1668,7 +1668,7 @@ RegOpenKeyW (HKEY hKey,
 {
   OBJECT_ATTRIBUTES ObjectAttributes;
   UNICODE_STRING SubKeyString;
-  HKEY KeyHandle;
+  HANDLE KeyHandle;
   LONG ErrorCode;
   NTSTATUS Status;
 
@@ -1688,7 +1688,7 @@ RegOpenKeyW (HKEY hKey,
                              OBJ_CASE_INSENSITIVE,
                              KeyHandle,
                              NULL);
-  Status = NtOpenKey (phkResult,
+  Status = NtOpenKey ((PHANDLE)phkResult,
                      MAXIMUM_ALLOWED,
                      &ObjectAttributes);
   if (!NT_SUCCESS(Status))
@@ -1716,7 +1716,7 @@ RegOpenKeyExA (HKEY hKey,
 {
   OBJECT_ATTRIBUTES ObjectAttributes;
   UNICODE_STRING SubKeyString;
-  HKEY KeyHandle;
+  HANDLE KeyHandle;
   LONG ErrorCode;
   NTSTATUS Status;
 
@@ -1736,7 +1736,7 @@ RegOpenKeyExA (HKEY hKey,
                              OBJ_CASE_INSENSITIVE,
                              KeyHandle,
                              NULL);
-  Status = NtOpenKey (phkResult,
+  Status = NtOpenKey ((PHANDLE)phkResult,
                      samDesired,
                      &ObjectAttributes);
   RtlFreeUnicodeString (&SubKeyString);
@@ -1765,7 +1765,7 @@ RegOpenKeyExW (HKEY hKey,
 {
   OBJECT_ATTRIBUTES ObjectAttributes;
   UNICODE_STRING SubKeyString;
-  HKEY KeyHandle;
+  HANDLE KeyHandle;
   LONG ErrorCode;
   NTSTATUS Status;
 
@@ -1793,7 +1793,7 @@ RegOpenKeyExW (HKEY hKey,
                              OBJ_CASE_INSENSITIVE,
                              KeyHandle,
                              NULL);
-  Status = NtOpenKey (phkResult,
+  Status = NtOpenKey ((PHANDLE)phkResult,
                      samDesired,
                      &ObjectAttributes);
   if (!NT_SUCCESS(Status))
@@ -1891,7 +1891,7 @@ RegQueryInfoKeyW (HKEY hKey,
   PKEY_FULL_INFORMATION FullInfo;
   ULONG FullInfoSize;
   ULONG ClassLength;
-  HKEY KeyHandle;
+  HANDLE KeyHandle;
   NTSTATUS Status;
   LONG ErrorCode = ERROR_SUCCESS;
   ULONG Length;
@@ -2091,12 +2091,12 @@ RegQueryMultipleValuesW (HKEY hKey,
                                    NULL,
                                    NULL,
                                    &val_list[i].ve_valuelen);
-      if(ErrorCode != ERROR_SUCCESS)
+      if (ErrorCode != ERROR_SUCCESS)
        {
          return ErrorCode;
        }
 
-      if(lpValueBuf != NULL && *ldwTotsize + val_list[i].ve_valuelen <= maxBytes)
+      if (lpValueBuf != NULL && *ldwTotsize + val_list[i].ve_valuelen <= maxBytes)
        {
          ErrorCode = RegQueryValueExW (hKey,
                                        val_list[i].ve_valuename,
@@ -2140,7 +2140,7 @@ RegQueryValueExW (HKEY hKey,
   LONG ErrorCode = ERROR_SUCCESS;
   ULONG BufferSize;
   ULONG ResultSize;
-  HKEY KeyHandle;
+  HANDLE KeyHandle;
   ULONG MaxCopy = lpcbData ? *lpcbData : 0;
 
   DPRINT("hKey 0x%X  lpValueName %S  lpData 0x%X  lpcbData %d\n",
@@ -2449,7 +2449,7 @@ RegQueryValueW (HKEY hKey,
 {
   OBJECT_ATTRIBUTES ObjectAttributes;
   UNICODE_STRING SubKeyString;
-  HKEY KeyHandle;
+  HANDLE KeyHandle;
   HANDLE RealKey;
   LONG ErrorCode;
   BOOL CloseRealKey;
@@ -2811,7 +2811,7 @@ RegSaveKeyW (HKEY hKey,
   UNICODE_STRING FileName;
   IO_STATUS_BLOCK IoStatusBlock;
   HANDLE FileHandle;
-  HKEY KeyHandle;
+  HANDLE KeyHandle;
   NTSTATUS Status;
   LONG ErrorCode;
 
@@ -2886,7 +2886,7 @@ RegSetKeySecurity (HKEY hKey,
                   SECURITY_INFORMATION SecurityInformation,
                   PSECURITY_DESCRIPTOR pSecurityDescriptor)
 {
-  HKEY KeyHandle;
+  HANDLE KeyHandle;
   LONG ErrorCode;
   NTSTATUS Status;
 
@@ -3019,7 +3019,7 @@ RegSetValueExW (HKEY hKey,
 {
   UNICODE_STRING ValueName;
   PUNICODE_STRING pValueName;
-  HKEY KeyHandle;
+  HANDLE KeyHandle;
   NTSTATUS Status;
   LONG ErrorCode;
 
@@ -3134,7 +3134,7 @@ RegSetValueW (HKEY hKey,
 {
   OBJECT_ATTRIBUTES ObjectAttributes;
   UNICODE_STRING SubKeyString;
-  HKEY KeyHandle;
+  HANDLE KeyHandle;
   HANDLE RealKey;
   LONG ErrorCode;
   BOOL CloseRealKey;
index 41c31f5..fb5a672 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: lsa.c,v 1.10 2004/03/08 18:09:05 sedwards Exp $
+/* $Id: lsa.c,v 1.11 2004/06/17 09:07:12 ekohl Exp $
  *
  * COPYRIGHT:       See COPYING in the top level directory
  * PROJECT:         ReactOS system libraries
  *
  */
 
+#define NTOS_MODE_USER
+#include <ntos.h>
 #include <windows.h>
-#include <ddk/ntddk.h>
 #include <ntsecapi.h>
-#include <debug.h>
-
-/******************************************************************************
- * LsaNtStatusToWinError [ADVAPI32.@]
- *
- * PARAMS
- *   Status [I]
- *
- * @implemented
- */
-ULONG WINAPI
-LsaNtStatusToWinError(NTSTATUS Status)
-{
-    return RtlNtStatusToDosError(Status);
-}
 
+#define NDEBUG
+#include <debug.h>
 
-/******************************************************************************
- * LsaOpenPolicy [ADVAPI32.@]
- *
- * PARAMS
- *   x1 []
- *   x2 []
- *   x3 []
- *   x4 []
- *
- * @unimplemented
- */
-NTSTATUS STDCALL
-LsaOpenPolicy (PLSA_UNICODE_STRING lsaucs,
-              PLSA_OBJECT_ATTRIBUTES lsaoa,
-              ACCESS_MASK access,
-              PLSA_HANDLE lsah)
-{
-  DPRINT1("LsaOpenPolicy - stub\n");
-  return STATUS_SUCCESS;
-}
 
 #ifndef SID_REVISION /* FIXME - Winnt.h */
-#define        SID_REVISION                    (1)     /* Current revision */
+#define        SID_REVISION (1)        /* Current revision */
 #endif
 
-/*
- * @unimplemented
- */
-NTSTATUS
-STDCALL
-LsaQueryInformationPolicy(LSA_HANDLE lsah,POLICY_INFORMATION_CLASS pic,PVOID* Buffer)
-{
-       DPRINT1("(%p,0x%08x,%p):LsaQueryInformationPolicy stub\n",
-              lsah, pic, Buffer);
-
-       if(!Buffer) return FALSE;
-       switch (pic)
-       {
-         case PolicyAuditEventsInformation: /* 2 */
-           {
-             PPOLICY_AUDIT_EVENTS_INFO p = RtlAllocateHeap(RtlGetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(POLICY_AUDIT_EVENTS_INFO));
-             p->AuditingMode = FALSE; /* no auditing */
-             *Buffer = p;
-           }
-           break;
-         case PolicyPrimaryDomainInformation: /* 3 */
-         case PolicyAccountDomainInformation: /* 5 */
-           {
-             struct di
-             { POLICY_PRIMARY_DOMAIN_INFO ppdi;
-               SID sid;
-             };
-             SID_IDENTIFIER_AUTHORITY localSidAuthority = {SECURITY_NT_AUTHORITY};
-
-             struct di * xdi = RtlAllocateHeap(RtlGetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(xdi));
-              HKEY key;
-              BOOL useDefault = TRUE;
-              LONG ret;
-
-              if ((ret = RegOpenKeyExA(HKEY_LOCAL_MACHINE,
-               "System\\CurrentControlSet\\Services\\VxD\\VNETSUP", 0,
-               KEY_READ, &key)) == ERROR_SUCCESS)
-              {
-                  DWORD size = 0;
-                  WCHAR wg[] = { 'W','o','r','k','g','r','o','u','p',0 };
-
-                  ret = RegQueryValueExW(key, wg, NULL, NULL, NULL, &size);
-                  if (ret == ERROR_MORE_DATA || ret == ERROR_SUCCESS)
-                  {
-                      xdi->ppdi.Name.Buffer = RtlAllocateHeap(RtlGetProcessHeap(),
-                       HEAP_ZERO_MEMORY, size);
-                      if ((ret = RegQueryValueExW(key, wg, NULL, NULL,
-                       (LPBYTE)xdi->ppdi.Name.Buffer, &size)) == ERROR_SUCCESS)
-                      {
-                          xdi->ppdi.Name.Length = (USHORT)size;
-                          useDefault = FALSE;
-                      }
-                      else
-                      {
-                          RtlFreeHeap(RtlGetProcessHeap(), 0, xdi->ppdi.Name.Buffer);
-                          xdi->ppdi.Name.Buffer = NULL;
-                      }
-                  }
-                  RegCloseKey(key);
-              }
-              if (useDefault)
-                  RtlCreateUnicodeStringFromAsciiz(&(xdi->ppdi.Name), "DOMAIN");
-              DPRINT1("setting domain to \n");
-
-             xdi->ppdi.Sid = &(xdi->sid);
-             xdi->sid.Revision = SID_REVISION;
-             xdi->sid.SubAuthorityCount = 1;
-             xdi->sid.IdentifierAuthority = localSidAuthority;
-             xdi->sid.SubAuthority[0] = SECURITY_LOCAL_SYSTEM_RID;
-             *Buffer = xdi;
-           }
-           break;
-         case  PolicyAuditLogInformation:
-         case  PolicyPdAccountInformation:
-         case  PolicyLsaServerRoleInformation:
-         case  PolicyReplicaSourceInformation:
-         case  PolicyDefaultQuotaInformation:
-         case  PolicyModificationInformation:
-         case  PolicyAuditFullSetInformation:
-         case  PolicyAuditFullQueryInformation:
-         case  PolicyDnsDomainInformation:
-           {
-             DPRINT1("category not implemented\n");
-             return FALSE;
-           }
-       }
-       return TRUE;
-}
-
-/*
- * @implemented
- */
-NTSTATUS STDCALL
-LsaFreeMemory (PVOID pv)
-{
-  return RtlFreeHeap(RtlGetProcessHeap(), 0, pv);
-}
 
 /*
  * @unimplemented
@@ -161,8 +32,8 @@ LsaFreeMemory (PVOID pv)
 NTSTATUS STDCALL
 LsaClose(LSA_HANDLE ObjectHandle)
 {
-       DPRINT1("(%p):LsaClose stub\n",ObjectHandle);
-       return 0xc0000000;
+  DPRINT1("(%p):LsaClose stub\n",ObjectHandle);
+  return 0xc0000000;
 }
 
 /*
@@ -171,13 +42,12 @@ LsaClose(LSA_HANDLE ObjectHandle)
 NTSTATUS
 STDCALL
 LsaAddAccountRights(
-    LSA_HANDLE lsah,
+    LSA_HANDLE PolicyHandle,
     PSID AccountSid,
     PLSA_UNICODE_STRING UserRights,
-    ULONG CountOfRights
-    )
+    ULONG CountOfRights)
 {
-  return(FALSE);
+  return STATUS_NOT_IMPLEMENTED;
 }
 
 /*
@@ -186,14 +56,13 @@ LsaAddAccountRights(
 NTSTATUS
 STDCALL
 LsaCreateTrustedDomainEx(
-    LSA_HANDLE lsah,
+    LSA_HANDLE PolicyHandle,
     PTRUSTED_DOMAIN_INFORMATION_EX TrustedDomainInformation,
     PTRUSTED_DOMAIN_AUTH_INFORMATION AuthenticationInformation,
     ACCESS_MASK DesiredAccess,
-    PLSA_HANDLE TrustedDomainHandle
-    )
+    PLSA_HANDLE TrustedDomainHandle)
 {
-  return(FALSE);
+  return STATUS_NOT_IMPLEMENTED;
 }
 
 /*
@@ -202,11 +71,10 @@ LsaCreateTrustedDomainEx(
 NTSTATUS
 STDCALL
 LsaDeleteTrustedDomain(
-    LSA_HANDLE lsah,
-    PSID TrustedDomainSid
-    )
+    LSA_HANDLE PolicyHandle,
+    PSID TrustedDomainSid)
 {
-  return(FALSE);
+  return STATUS_NOT_IMPLEMENTED;
 }
 
 /*
@@ -215,13 +83,12 @@ LsaDeleteTrustedDomain(
 NTSTATUS
 STDCALL
 LsaEnumerateAccountRights(
-    LSA_HANDLE lsah,
+    LSA_HANDLE PolicyHandle,
     PSID AccountSid,
     PLSA_UNICODE_STRING *UserRights,
-    PULONG CountOfRights
-    )
+    PULONG CountOfRights)
 {
-  return(FALSE);
+  return STATUS_NOT_IMPLEMENTED;
 }
 
 /*
@@ -230,13 +97,12 @@ LsaEnumerateAccountRights(
 NTSTATUS
 STDCALL
 LsaEnumerateAccountsWithUserRight(
-    LSA_HANDLE lsah,
+    LSA_HANDLE PolicyHandle,
     OPTIONAL PLSA_UNICODE_STRING UserRights,
     PVOID *EnumerationBuffer,
-    PULONG CountReturned
-    )
+    PULONG CountReturned)
 {
-  return(FALSE);
+  return STATUS_NOT_IMPLEMENTED;
 }
 
 /*
@@ -245,14 +111,13 @@ LsaEnumerateAccountsWithUserRight(
 NTSTATUS
 STDCALL
 LsaEnumerateTrustedDomains(
-    LSA_HANDLE lsah,
+    LSA_HANDLE PolicyHandle,
     PLSA_ENUMERATION_HANDLE EnumerationContext,
     PVOID *Buffer,
     ULONG PreferedMaximumLength,
-    PULONG CountReturned
-    )
+    PULONG CountReturned)
 {
-  return(FALSE);
+  return STATUS_NOT_IMPLEMENTED;
 }
 
 /*
@@ -261,14 +126,22 @@ LsaEnumerateTrustedDomains(
 NTSTATUS
 STDCALL
 LsaEnumerateTrustedDomainsEx(
-    LSA_HANDLE lsah,
+    LSA_HANDLE PolicyHandle,
     PLSA_ENUMERATION_HANDLE EnumerationContext,
     PVOID *Buffer,
     ULONG PreferedMaximumLength,
-    PULONG CountReturned
-    )
+    PULONG CountReturned)
 {
-  return(FALSE);
+  return STATUS_NOT_IMPLEMENTED;
+}
+
+/*
+ * @implemented
+ */
+NTSTATUS STDCALL
+LsaFreeMemory(PVOID Buffer)
+{
+  return RtlFreeHeap(RtlGetProcessHeap(), 0, Buffer);
 }
 
 /*
@@ -277,14 +150,13 @@ LsaEnumerateTrustedDomainsEx(
 NTSTATUS
 STDCALL
 LsaLookupNames(
-    LSA_HANDLE lsah,
+    LSA_HANDLE PolicyHandle,
     ULONG Count,
     PLSA_UNICODE_STRING Names,
     PLSA_REFERENCED_DOMAIN_LIST *ReferencedDomains,
-    PLSA_TRANSLATED_SID *Sids
-    )
+    PLSA_TRANSLATED_SID *Sids)
 {
-  return(FALSE);
+  return STATUS_NOT_IMPLEMENTED;
 }
 
 /*
@@ -293,15 +165,14 @@ LsaLookupNames(
 NTSTATUS
 STDCALL
 LsaLookupNames2(
-    LSA_HANDLE lsah,
+    LSA_HANDLE PolicyHandle,
     ULONG Flags,
     ULONG Count,
     PLSA_UNICODE_STRING Names,
     PLSA_REFERENCED_DOMAIN_LIST *ReferencedDomains,
-    PLSA_TRANSLATED_SID2 *Sids
-    )
+    PLSA_TRANSLATED_SID2 *Sids)
 {
-  return(FALSE);
+  return STATUS_NOT_IMPLEMENTED;
 }
 
 /*
@@ -310,14 +181,48 @@ LsaLookupNames2(
 NTSTATUS
 STDCALL
 LsaLookupSids(
-    LSA_HANDLE lsah,
+    LSA_HANDLE PolicyHandle,
     ULONG Count,
     PSID *Sids,
     PLSA_REFERENCED_DOMAIN_LIST *ReferencedDomains,
-    PLSA_TRANSLATED_NAME *Names
-    )
+    PLSA_TRANSLATED_NAME *Names)
+{
+  return STATUS_NOT_IMPLEMENTED;
+}
+
+/******************************************************************************
+ * LsaNtStatusToWinError
+ *
+ * PARAMS
+ *   Status [I]
+ *
+ * @implemented
+ */
+ULONG STDCALL
+LsaNtStatusToWinError(NTSTATUS Status)
 {
-  return(FALSE);
+  return RtlNtStatusToDosError(Status);
+}
+
+/******************************************************************************
+ * LsaOpenPolicy
+ *
+ * PARAMS
+ *   x1 []
+ *   x2 []
+ *   x3 []
+ *   x4 []
+ *
+ * @unimplemented
+ */
+NTSTATUS STDCALL
+LsaOpenPolicy(PLSA_UNICODE_STRING lsaucs,
+             PLSA_OBJECT_ATTRIBUTES lsaoa,
+             ACCESS_MASK access,
+             PLSA_HANDLE PolicyHandle)
+{
+  DPRINT1("LsaOpenPolicy - stub\n");
+  return STATUS_SUCCESS;
 }
 
 /*
@@ -326,13 +231,12 @@ LsaLookupSids(
 NTSTATUS
 STDCALL
 LsaOpenTrustedDomainByName(
-    LSA_HANDLE lsah,
+    LSA_HANDLE PolicyHandle,
     PLSA_UNICODE_STRING TrustedDomainName,
     ACCESS_MASK DesiredAccess,
-    PLSA_HANDLE TrustedDomainHandle
-    )
+    PLSA_HANDLE TrustedDomainHandle)
 {
-  return(FALSE);
+  return STATUS_NOT_IMPLEMENTED;
 }
 
 /*
@@ -341,12 +245,11 @@ LsaOpenTrustedDomainByName(
 NTSTATUS
 STDCALL
 LsaQueryDomainInformationPolicy(
-    LSA_HANDLE lsah,
+    LSA_HANDLE PolicyHandle,
     POLICY_DOMAIN_INFORMATION_CLASS pic,
-    PVOID *Buffer
-    )
+    PVOID *Buffer)
 {
-  return(FALSE);
+  return STATUS_NOT_IMPLEMENTED;
 }
 
 /*
@@ -355,12 +258,104 @@ LsaQueryDomainInformationPolicy(
 NTSTATUS
 STDCALL
 LsaQueryForestTrustInformation(
-    LSA_HANDLE lsah,
+    LSA_HANDLE PolicyHandle,
     PLSA_UNICODE_STRING TrustedDomainName,
-    PLSA_FOREST_TRUST_INFORMATION * ForestTrustInfo
-    )
+    PLSA_FOREST_TRUST_INFORMATION * ForestTrustInfo)
+{
+  return STATUS_NOT_IMPLEMENTED;
+}
+
+/*
+ * @unimplemented
+ */
+NTSTATUS STDCALL
+LsaQueryInformationPolicy(LSA_HANDLE PolicyHandle,
+                         POLICY_INFORMATION_CLASS pic,
+                         PVOID *Buffer)
 {
-  return(FALSE);
+  DPRINT1("(%p,0x%08x,%p):LsaQueryInformationPolicy stub\n",
+          PolicyHandle, pic, Buffer);
+
+  if (!Buffer)
+    return FALSE;
+
+       switch (pic)
+       {
+         case PolicyAuditEventsInformation: /* 2 */
+           {
+             PPOLICY_AUDIT_EVENTS_INFO p = RtlAllocateHeap(RtlGetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(POLICY_AUDIT_EVENTS_INFO));
+             p->AuditingMode = FALSE; /* no auditing */
+             *Buffer = p;
+           }
+           break;
+         case PolicyPrimaryDomainInformation: /* 3 */
+         case PolicyAccountDomainInformation: /* 5 */
+           {
+             struct di
+             { POLICY_PRIMARY_DOMAIN_INFO ppdi;
+               SID sid;
+             };
+             SID_IDENTIFIER_AUTHORITY localSidAuthority = {SECURITY_NT_AUTHORITY};
+
+             struct di * xdi = RtlAllocateHeap(RtlGetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(xdi));
+              HKEY key;
+              BOOL useDefault = TRUE;
+              LONG ret;
+
+              if ((ret = RegOpenKeyExA(HKEY_LOCAL_MACHINE,
+               "System\\CurrentControlSet\\Services\\VxD\\VNETSUP", 0,
+               KEY_READ, &key)) == ERROR_SUCCESS)
+              {
+                  DWORD size = 0;
+                  WCHAR wg[] = { 'W','o','r','k','g','r','o','u','p',0 };
+
+                  ret = RegQueryValueExW(key, wg, NULL, NULL, NULL, &size);
+                  if (ret == ERROR_MORE_DATA || ret == ERROR_SUCCESS)
+                  {
+                      xdi->ppdi.Name.Buffer = RtlAllocateHeap(RtlGetProcessHeap(),
+                       HEAP_ZERO_MEMORY, size);
+                      if ((ret = RegQueryValueExW(key, wg, NULL, NULL,
+                       (LPBYTE)xdi->ppdi.Name.Buffer, &size)) == ERROR_SUCCESS)
+                      {
+                          xdi->ppdi.Name.Length = (USHORT)size;
+                          useDefault = FALSE;
+                      }
+                      else
+                      {
+                          RtlFreeHeap(RtlGetProcessHeap(), 0, xdi->ppdi.Name.Buffer);
+                          xdi->ppdi.Name.Buffer = NULL;
+                      }
+                  }
+                  RegCloseKey(key);
+              }
+              if (useDefault)
+                  RtlCreateUnicodeStringFromAsciiz(&(xdi->ppdi.Name), "DOMAIN");
+              DPRINT1("setting domain to \n");
+
+             xdi->ppdi.Sid = &(xdi->sid);
+             xdi->sid.Revision = SID_REVISION;
+             xdi->sid.SubAuthorityCount = 1;
+             xdi->sid.IdentifierAuthority = localSidAuthority;
+             xdi->sid.SubAuthority[0] = SECURITY_LOCAL_SYSTEM_RID;
+             *Buffer = xdi;
+           }
+           break;
+         case PolicyAuditLogInformation:
+         case PolicyPdAccountInformation:
+         case PolicyLsaServerRoleInformation:
+         case PolicyReplicaSourceInformation:
+         case PolicyDefaultQuotaInformation:
+         case PolicyModificationInformation:
+         case PolicyAuditFullSetInformation:
+         case PolicyAuditFullQueryInformation:
+         case PolicyDnsDomainInformation:
+         case PolicyEfsInformation:
+           {
+             DPRINT1("category not implemented\n");
+             return FALSE;
+           }
+       }
+       return TRUE;
 }
 
 /*
@@ -369,13 +364,12 @@ LsaQueryForestTrustInformation(
 NTSTATUS
 STDCALL
 LsaQueryTrustedDomainInfoByName(
-    LSA_HANDLE lsah,
+    LSA_HANDLE PolicyHandle,
     PLSA_UNICODE_STRING TrustedDomainName,
     TRUSTED_INFORMATION_CLASS pic,
-    PVOID *Buffer
-    )
+    PVOID *Buffer)
 {
-  return(FALSE);
+  return STATUS_NOT_IMPLEMENTED;
 }
 
 /*
@@ -384,13 +378,12 @@ LsaQueryTrustedDomainInfoByName(
 NTSTATUS
 STDCALL
 LsaQueryTrustedDomainInfo(
-    LSA_HANDLE lsah,
+    LSA_HANDLE PolicyHandle,
     PSID TrustedDomainSid,
     TRUSTED_INFORMATION_CLASS pic,
-    PVOID *Buffer
-    )
+    PVOID *Buffer)
 {
-  return(FALSE);
+  return STATUS_NOT_IMPLEMENTED;
 }
 
 /*
@@ -399,14 +392,13 @@ LsaQueryTrustedDomainInfo(
 NTSTATUS
 STDCALL
 LsaRemoveAccountRights(
-    LSA_HANDLE lsah,
+    LSA_HANDLE PolicyHandle,
     PSID AccountSid,
-    BOOL AllRights,
+    BOOLEAN AllRights,
     PLSA_UNICODE_STRING UserRights,
-    ULONG CountOfRights
-    )
+    ULONG CountOfRights)
 {
-  return(FALSE);
+  return STATUS_NOT_IMPLEMENTED;
 }
 
 /*
@@ -415,12 +407,11 @@ LsaRemoveAccountRights(
 NTSTATUS
 STDCALL
 LsaRetrievePrivateData(
-    LSA_HANDLE lsah,
+    LSA_HANDLE PolicyHandle,
     PLSA_UNICODE_STRING KeyName,
-    PLSA_UNICODE_STRING * PrivateData
-    )
+    PLSA_UNICODE_STRING *PrivateData)
 {
-  return(FALSE);
+  return STATUS_NOT_IMPLEMENTED;
 }
 
 /*
@@ -429,12 +420,11 @@ LsaRetrievePrivateData(
 NTSTATUS
 STDCALL
 LsaSetDomainInformationPolicy(
-    LSA_HANDLE lsah,
+    LSA_HANDLE PolicyHandle,
     POLICY_DOMAIN_INFORMATION_CLASS pic,
-    PVOID Buffer
-    )
+    PVOID Buffer)
 {
-  return(FALSE);
+  return STATUS_NOT_IMPLEMENTED;
 }
 
 /*
@@ -443,12 +433,11 @@ LsaSetDomainInformationPolicy(
 NTSTATUS
 STDCALL
 LsaSetInformationPolicy(
-    LSA_HANDLE lsah,
+    LSA_HANDLE PolicyHandle,
     POLICY_INFORMATION_CLASS pic,
-    PVOID Buffer
-    )
+    PVOID Buffer)
 {
-  return(FALSE);
+  return STATUS_NOT_IMPLEMENTED;
 }
 
 /*
@@ -457,14 +446,13 @@ LsaSetInformationPolicy(
 NTSTATUS
 STDCALL
 LsaSetForestTrustInformation(
-    LSA_HANDLE lsah,
+    LSA_HANDLE PolicyHandle,
     PLSA_UNICODE_STRING TrustedDomainName,
     PLSA_FOREST_TRUST_INFORMATION ForestTrustInfo,
     BOOL CheckOnly,
-    PLSA_FOREST_TRUST_COLLISION_INFORMATION * CollisionInfo
-    )
+    PLSA_FOREST_TRUST_COLLISION_INFORMATION *CollisionInfo)
 {
-  return(FALSE);
+  return STATUS_NOT_IMPLEMENTED;
 }
 
 /*
@@ -473,13 +461,12 @@ LsaSetForestTrustInformation(
 NTSTATUS
 STDCALL
 LsaSetTrustedDomainInfoByName(
-    LSA_HANDLE lsah,
+    LSA_HANDLE PolicyHandle,
     PLSA_UNICODE_STRING TrustedDomainName,
     TRUSTED_INFORMATION_CLASS pic,
-    PVOID Buffer
-    )
+    PVOID Buffer)
 {
-  return(FALSE);
+  return STATUS_NOT_IMPLEMENTED;
 }
 
 /*
@@ -488,13 +475,12 @@ LsaSetTrustedDomainInfoByName(
 NTSTATUS
 STDCALL
 LsaSetTrustedDomainInformation(
-    LSA_HANDLE lsah,
+    LSA_HANDLE PolicyHandle,
     PSID TrustedDomainSid,
     TRUSTED_INFORMATION_CLASS pic,
-    PVOID Buffer
-    )
+    PVOID Buffer)
 {
-  return(FALSE);
+  return STATUS_NOT_IMPLEMENTED;
 }
 
 /*
@@ -503,10 +489,9 @@ LsaSetTrustedDomainInformation(
 NTSTATUS
 STDCALL
 LsaStorePrivateData(
-    LSA_HANDLE lsah,
+    LSA_HANDLE PolicyHandle,
     PLSA_UNICODE_STRING KeyName,
-    PLSA_UNICODE_STRING PrivateData
-    )
+    PLSA_UNICODE_STRING PrivateData)
 {
-  return(FALSE);
+  return STATUS_NOT_IMPLEMENTED;
 }
index 0a90496..3f256ca 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: privilege.c,v 1.7 2004/03/25 11:30:07 ekohl Exp $ 
+/* $Id: privilege.c,v 1.8 2004/06/17 09:07:12 ekohl Exp $ 
  *
  * COPYRIGHT:       See COPYING in the top level directory
  * PROJECT:         ReactOS system libraries
@@ -9,8 +9,9 @@
  *     20010317 ea     stubs
  */
 
+#define NTOS_MODE_USER
+#include <ntos.h>
 #include <windows.h>
-#include <ddk/ntddk.h>
 
 
 /**********************************************************************
index 5590872..7a412bf 100644 (file)
@@ -247,6 +247,17 @@ typedef enum _TRUSTED_INFORMATION_CLASS {
   TrustedDomainAuthInformation,
   TrustedDomainFullInformation
 } TRUSTED_INFORMATION_CLASS, *PTRUSTED_INFORMATION_CLASS;
+typedef enum _LSA_FOREST_TRUST_RECORD_TYPE {
+  ForestTrustTopLevelName,
+  ForestTrustTopLevelNameEx,
+  ForestTrustDomainInfo,
+  ForestTrustRecordTypeLast = ForestTrustDomainInfo
+} LSA_FOREST_TRUST_RECORD_TYPE;
+typedef enum _LSA_FOREST_TRUST_COLLISION_RECORD_TYPE {
+  CollisionTdo,
+  CollisionXref,
+  CollisionOther
+} LSA_FOREST_TRUST_COLLISION_RECORD_TYPE;
 typedef struct _DOMAIN_PASSWORD_INFORMATION {
   USHORT MinPasswordLength;
   USHORT PasswordHistoryLength;
@@ -270,6 +281,39 @@ typedef struct _LSA_OBJECT_ATTRIBUTES {
 } OBJECT_ATTRIBUTES, *POBJECT_ATTRIBUTES;
 #endif
 typedef OBJECT_ATTRIBUTES LSA_OBJECT_ATTRIBUTES, *PLSA_OBJECT_ATTRIBUTES;
+typedef struct _LSA_FOREST_TRUST_DOMAIN_INFO {
+  PSID Sid;
+  LSA_UNICODE_STRING DnsName;
+  LSA_UNICODE_STRING NetbiosName;
+} LSA_FOREST_TRUST_DOMAIN_INFO, *PLSA_FOREST_TRUST_DOMAIN_INFO;
+typedef struct _LSA_FOREST_TRUST_BINARY_DATA {
+  ULONG Length;
+  PUCHAR Buffer;
+} LSA_FOREST_TRUST_BINARY_DATA, *PLSA_FOREST_TRUST_BINARY_DATA;
+typedef struct _LSA_FOREST_TRUST_RECORD {
+  ULONG Flags;
+  LSA_FOREST_TRUST_RECORD_TYPE ForestTrustType;
+  LARGE_INTEGER Time;
+  union {
+    LSA_UNICODE_STRING TopLevelName;
+    LSA_FOREST_TRUST_DOMAIN_INFO DomainInfo;
+    LSA_FOREST_TRUST_BINARY_DATA Data;
+  } ForestTrustData;
+} LSA_FOREST_TRUST_RECORD, *PLSA_FOREST_TRUST_RECORD;
+typedef struct _LSA_FOREST_TRUST_INFORMATION {
+  ULONG RecordCount;
+  PLSA_FOREST_TRUST_RECORD *Entries;
+} LSA_FOREST_TRUST_INFORMATION, *PLSA_FOREST_TRUST_INFORMATION;
+typedef struct _LSA_FOREST_TRUST_COLLISION_RECORD {
+  ULONG Index;
+  LSA_FOREST_TRUST_COLLISION_RECORD_TYPE Type;
+  ULONG Flags;
+  LSA_UNICODE_STRING Name;
+} LSA_FOREST_TRUST_COLLISION_RECORD, *PLSA_FOREST_TRUST_COLLISION_RECORD;
+typedef struct _LSA_FOREST_TRUST_COLLISION_INFORMATION {
+  ULONG RecordCount;
+  PLSA_FOREST_TRUST_COLLISION_RECORD *Entries;
+} LSA_FOREST_TRUST_COLLISION_INFORMATION, *PLSA_FOREST_TRUST_COLLISION_INFORMATION;
 typedef struct _LSA_TRUST_INFORMATION {
   LSA_UNICODE_STRING Name;
   PSID Sid;
@@ -283,6 +327,12 @@ typedef struct _LSA_TRANSLATED_SID {
   ULONG RelativeId;
   LONG DomainIndex;
 } LSA_TRANSLATED_SID, *PLSA_TRANSLATED_SID;
+typedef struct _LSA_TRANSLATED_SID2 {
+  SID_NAME_USE Use;
+  PSID Sid;
+  LONG DomainIndex;
+  ULONG Flags;
+} LSA_TRANSLATED_SID2, *PLSA_TRANSLATED_SID2;
 typedef struct _LSA_TRANSLATED_NAME {
   SID_NAME_USE Use;
   LSA_UNICODE_STRING Name;
@@ -562,7 +612,7 @@ NTSTATUS NTAPI LsaEnumerateAccountsWithUserRight(LSA_HANDLE,PLSA_UNICODE_STRING,
 NTSTATUS NTAPI LsaEnumerateTrustedDomains(LSA_HANDLE,PLSA_ENUMERATION_HANDLE,
                             PVOID*,ULONG,PULONG);
 NTSTATUS NTAPI LsaEnumerateTrustedDomainsEx(LSA_HANDLE,PLSA_ENUMERATION_HANDLE,
-                            TRUSTED_INFORMATION_CLASS,PVOID*,ULONG,PULONG);
+                            PVOID*,ULONG,PULONG);
 NTSTATUS NTAPI LsaFreeMemory(PVOID);
 NTSTATUS NTAPI LsaFreeReturnBuffer(PVOID);
 NTSTATUS NTAPI LsaLogonUser(HANDLE,PLSA_STRING,SECURITY_LOGON_TYPE,ULONG,PVOID,