Compile advapi32 using w32api.

svn path=/trunk/; revision=9695
This commit is contained in:
Eric Kohl 2004-06-17 09:07:12 +00:00
parent 0766c089ec
commit 06e579a944
11 changed files with 401 additions and 356 deletions

View file

@ -16,6 +16,10 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/ */
#ifdef __USE_W32API
#include_next <accctrl.h>
#else
#ifndef __WINE_ACCCTRL_H #ifndef __WINE_ACCCTRL_H
#define __WINE_ACCCTRL_H #define __WINE_ACCCTRL_H
@ -463,3 +467,5 @@ typedef struct _FN_OBJECT_MGR_FUNCTIONS
#endif #endif
#endif /* __WINE_ACCCTRL_H */ #endif /* __WINE_ACCCTRL_H */
#endif /* __USE_W32API */

View file

@ -94,9 +94,9 @@ GetCurrentHwProfileA (
WINBOOL WINBOOL
STDCALL STDCALL
LogonUserA ( LogonUserA (
LPCSTR lpszUsername, LPSTR lpszUsername,
LPCSTR lpszDomain, LPSTR lpszDomain,
LPCSTR lpszPassword, LPSTR lpszPassword,
DWORD dwLogonType, DWORD dwLogonType,
DWORD dwLogonProvider, DWORD dwLogonProvider,
PHANDLE phToken PHANDLE phToken

View file

@ -122,18 +122,19 @@ typedef PVOID LSA_HANDLE, *PLSA_HANDLE;
typedef enum typedef enum
{ {
PolicyAuditLogInformation = 1, PolicyAuditLogInformation = 1,
PolicyAuditEventsInformation, PolicyAuditEventsInformation,
PolicyPrimaryDomainInformation, PolicyPrimaryDomainInformation,
PolicyPdAccountInformation, PolicyPdAccountInformation,
PolicyAccountDomainInformation, PolicyAccountDomainInformation,
PolicyLsaServerRoleInformation, PolicyLsaServerRoleInformation,
PolicyReplicaSourceInformation, PolicyReplicaSourceInformation,
PolicyDefaultQuotaInformation, PolicyDefaultQuotaInformation,
PolicyModificationInformation, PolicyModificationInformation,
PolicyAuditFullSetInformation, PolicyAuditFullSetInformation,
PolicyAuditFullQueryInformation, PolicyAuditFullQueryInformation,
PolicyDnsDomainInformation PolicyDnsDomainInformation,
PolicyEfsInformation
} POLICY_INFORMATION_CLASS, *PPOLICY_INFORMATION_CLASS; } POLICY_INFORMATION_CLASS, *PPOLICY_INFORMATION_CLASS;
typedef ULONG POLICY_AUDIT_EVENT_OPTIONS, *PPOLICY_AUDIT_EVENT_OPTIONS; typedef ULONG POLICY_AUDIT_EVENT_OPTIONS, *PPOLICY_AUDIT_EVENT_OPTIONS;
@ -484,7 +485,7 @@ STDCALL
LsaRemoveAccountRights( LsaRemoveAccountRights(
LSA_HANDLE PolicyHandle, LSA_HANDLE PolicyHandle,
PSID AccountSid, PSID AccountSid,
WINBOOL AllRights, BOOLEAN AllRights,
PLSA_UNICODE_STRING UserRights, PLSA_UNICODE_STRING UserRights,
ULONG CountOfRights ULONG CountOfRights
); );

View file

@ -95,9 +95,9 @@ GetCurrentHwProfileW (
WINBOOL WINBOOL
STDCALL STDCALL
LogonUserW ( LogonUserW (
LPCWSTR lpszUsername, LPWSTR lpszUsername,
LPCWSTR lpszDomain, LPWSTR lpszDomain,
LPCWSTR lpszPassword, LPWSTR lpszPassword,
DWORD dwLogonType, DWORD dwLogonType,
DWORD dwLogonProvider, DWORD dwLogonProvider,
PHANDLE phToken PHANDLE phToken

View 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 = ../.. PATH_TO_TOP = ../..
@ -6,12 +6,12 @@ TARGET_TYPE = dynlink
TARGET_NAME = advapi32 TARGET_NAME = advapi32
TARGET_CFLAGS = -Wall -Werror -fno-builtin TARGET_CFLAGS = -Wall -Werror -fno-builtin -D__USE_W32API
# TARGET_CFLAGS += -DUNICODE # TARGET_CFLAGS += -DUNICODE
TARGET_LFLAGS = -nostartfiles -nostdlib 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) TARGET_BASE = $(TARGET_BASE_LIB_ADVAPI32)

View 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 * COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS system libraries * PROJECT: ReactOS system libraries
@ -8,8 +8,9 @@
* UPDATE HISTORY: * UPDATE HISTORY:
* 20042502 * 20042502
*/ */
#include <debug.h> #include <ddk/ntddk.h>
#include <windows.h> #include <windows.h>
#include <debug.h>
/****************************************************************************** /******************************************************************************
* GetCurrentHwProfileA [ADVAPI32.@] * GetCurrentHwProfileA [ADVAPI32.@]
@ -23,7 +24,8 @@
* Success: TRUE. pInfo is updated with the hardware profile details. * Success: TRUE. pInfo is updated with the hardware profile details.
* Failure: FALSE. * Failure: FALSE.
*/ */
BOOL STDCALL GetCurrentHwProfileA(LPHW_PROFILE_INFOA pInfo) BOOL STDCALL
GetCurrentHwProfileA(LPHW_PROFILE_INFOA pInfo)
{ {
DPRINT("GetCurrentHwProfileA stub\n"); DPRINT("GetCurrentHwProfileA stub\n");
return 1; return 1;

View 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 * COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS system libraries * PROJECT: ReactOS system libraries
@ -130,9 +130,9 @@ CreateProcessAsUserW (HANDLE hToken,
* @unimplemented * @unimplemented
*/ */
BOOL STDCALL BOOL STDCALL
LogonUserA (LPCSTR lpszUsername, LogonUserA (LPSTR lpszUsername,
LPCSTR lpszDomain, LPSTR lpszDomain,
LPCSTR lpszPassword, LPSTR lpszPassword,
DWORD dwLogonType, DWORD dwLogonType,
DWORD dwLogonProvider, DWORD dwLogonProvider,
PHANDLE phToken) PHANDLE phToken)
@ -241,9 +241,9 @@ SamGetUserSid (LPCWSTR UserName,
* @unimplemented * @unimplemented
*/ */
BOOL STDCALL BOOL STDCALL
LogonUserW (LPCWSTR lpszUsername, LogonUserW (LPWSTR lpszUsername,
LPCWSTR lpszDomain, LPWSTR lpszDomain,
LPCWSTR lpszPassword, LPWSTR lpszPassword,
DWORD dwLogonType, DWORD dwLogonType,
DWORD dwLogonProvider, DWORD dwLogonProvider,
PHANDLE phToken) PHANDLE phToken)

View 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 * COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS system libraries * PROJECT: ReactOS system libraries
@ -37,7 +37,7 @@ static HANDLE ProcessHeap;
/* PROTOTYPES ***************************************************************/ /* PROTOTYPES ***************************************************************/
static NTSTATUS MapDefaultKey (PHKEY ParentKey, HKEY Key); static NTSTATUS MapDefaultKey (PHANDLE ParentKey, HKEY Key);
static VOID CloseDefaultKeys(VOID); static VOID CloseDefaultKeys(VOID);
static NTSTATUS OpenClassesRootKey(PHANDLE KeyHandle); static NTSTATUS OpenClassesRootKey(PHANDLE KeyHandle);
@ -81,7 +81,7 @@ RegCleanup (VOID)
static NTSTATUS static NTSTATUS
MapDefaultKey (PHKEY RealKey, MapDefaultKey (PHANDLE RealKey,
HKEY Key) HKEY Key)
{ {
PHANDLE Handle; PHANDLE Handle;
@ -92,7 +92,7 @@ MapDefaultKey (PHKEY RealKey,
if (((ULONG)Key & 0xF0000000) != 0x80000000) if (((ULONG)Key & 0xF0000000) != 0x80000000)
{ {
*RealKey = Key; *RealKey = (HANDLE)Key;
return STATUS_SUCCESS; return STATUS_SUCCESS;
} }
@ -148,7 +148,7 @@ MapDefaultKey (PHKEY RealKey,
if (NT_SUCCESS(Status)) if (NT_SUCCESS(Status))
{ {
*RealKey = (HKEY)*Handle; *RealKey = *Handle;
} }
return Status; return Status;
@ -332,7 +332,7 @@ RegCreateKeyExA (HKEY hKey,
UNICODE_STRING SubKeyString; UNICODE_STRING SubKeyString;
UNICODE_STRING ClassString; UNICODE_STRING ClassString;
OBJECT_ATTRIBUTES Attributes; OBJECT_ATTRIBUTES Attributes;
HKEY ParentKey; HANDLE ParentKey;
LONG ErrorCode; LONG ErrorCode;
NTSTATUS Status; NTSTATUS Status;
@ -361,7 +361,7 @@ RegCreateKeyExA (HKEY hKey,
OBJ_CASE_INSENSITIVE, OBJ_CASE_INSENSITIVE,
(HANDLE)ParentKey, (HANDLE)ParentKey,
(PSECURITY_DESCRIPTOR)lpSecurityAttributes); (PSECURITY_DESCRIPTOR)lpSecurityAttributes);
Status = NtCreateKey (phkResult, Status = NtCreateKey ((PHANDLE)phkResult,
samDesired, samDesired,
&Attributes, &Attributes,
0, 0,
@ -404,7 +404,7 @@ RegCreateKeyExW (HKEY hKey,
UNICODE_STRING SubKeyString; UNICODE_STRING SubKeyString;
UNICODE_STRING ClassString; UNICODE_STRING ClassString;
OBJECT_ATTRIBUTES Attributes; OBJECT_ATTRIBUTES Attributes;
HKEY ParentKey; HANDLE ParentKey;
LONG ErrorCode; LONG ErrorCode;
NTSTATUS Status; NTSTATUS Status;
@ -430,7 +430,7 @@ RegCreateKeyExW (HKEY hKey,
OBJ_CASE_INSENSITIVE, OBJ_CASE_INSENSITIVE,
(HANDLE)ParentKey, (HANDLE)ParentKey,
(PSECURITY_DESCRIPTOR)lpSecurityAttributes); (PSECURITY_DESCRIPTOR)lpSecurityAttributes);
Status = NtCreateKey (phkResult, Status = NtCreateKey ((PHANDLE)phkResult,
samDesired, samDesired,
&Attributes, &Attributes,
0, 0,
@ -504,7 +504,7 @@ RegDeleteKeyA (HKEY hKey,
{ {
OBJECT_ATTRIBUTES ObjectAttributes; OBJECT_ATTRIBUTES ObjectAttributes;
UNICODE_STRING SubKeyName; UNICODE_STRING SubKeyName;
HKEY ParentKey; HANDLE ParentKey;
HANDLE TargetKey; HANDLE TargetKey;
NTSTATUS Status; NTSTATUS Status;
LONG ErrorCode; LONG ErrorCode;
@ -561,7 +561,7 @@ RegDeleteKeyW (HKEY hKey,
{ {
OBJECT_ATTRIBUTES ObjectAttributes; OBJECT_ATTRIBUTES ObjectAttributes;
UNICODE_STRING SubKeyName; UNICODE_STRING SubKeyName;
HKEY ParentKey; HANDLE ParentKey;
HANDLE TargetKey; HANDLE TargetKey;
NTSTATUS Status; NTSTATUS Status;
LONG ErrorCode; LONG ErrorCode;
@ -615,7 +615,7 @@ RegDeleteValueA (HKEY hKey,
LPCSTR lpValueName) LPCSTR lpValueName)
{ {
UNICODE_STRING ValueName; UNICODE_STRING ValueName;
HKEY KeyHandle; HANDLE KeyHandle;
LONG ErrorCode; LONG ErrorCode;
NTSTATUS Status; NTSTATUS Status;
@ -656,7 +656,7 @@ RegDeleteValueW (HKEY hKey,
UNICODE_STRING ValueName; UNICODE_STRING ValueName;
NTSTATUS Status; NTSTATUS Status;
LONG ErrorCode; LONG ErrorCode;
HKEY KeyHandle; HANDLE KeyHandle;
Status = MapDefaultKey (&KeyHandle, Status = MapDefaultKey (&KeyHandle,
hKey); hKey);
@ -761,7 +761,7 @@ RegEnumKeyExA (HKEY hKey,
DWORD ClassLength; DWORD ClassLength;
DWORD BufferSize; DWORD BufferSize;
DWORD ResultSize; DWORD ResultSize;
HKEY KeyHandle; HANDLE KeyHandle;
NTSTATUS Status; NTSTATUS Status;
DPRINT("RegEnumKeyExA(hKey 0x%x, dwIndex %d, lpName 0x%x, *lpcbName %d, lpClass 0x%x, lpcbClass %d)\n", 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 ResultSize;
ULONG NameLength; ULONG NameLength;
ULONG ClassLength; ULONG ClassLength;
HKEY KeyHandle; HANDLE KeyHandle;
LONG ErrorCode = ERROR_SUCCESS; LONG ErrorCode = ERROR_SUCCESS;
NTSTATUS Status; NTSTATUS Status;
@ -1088,7 +1088,7 @@ RegEnumValueA (HKEY hKey,
ULONG BufferSize; ULONG BufferSize;
ULONG DataLength; ULONG DataLength;
ULONG ResultSize; ULONG ResultSize;
HKEY KeyHandle; HANDLE KeyHandle;
LONG ErrorCode; LONG ErrorCode;
NTSTATUS Status; NTSTATUS Status;
UNICODE_STRING StringU; UNICODE_STRING StringU;
@ -1255,7 +1255,7 @@ RegEnumValueW (HKEY hKey,
ULONG BufferSize; ULONG BufferSize;
ULONG DataLength; ULONG DataLength;
ULONG ResultSize; ULONG ResultSize;
HKEY KeyHandle; HANDLE KeyHandle;
LONG ErrorCode; LONG ErrorCode;
NTSTATUS Status; NTSTATUS Status;
@ -1373,7 +1373,7 @@ RegEnumValueW (HKEY hKey,
LONG STDCALL LONG STDCALL
RegFlushKey(HKEY hKey) RegFlushKey(HKEY hKey)
{ {
HKEY KeyHandle; HANDLE KeyHandle;
LONG ErrorCode; LONG ErrorCode;
NTSTATUS Status; NTSTATUS Status;
@ -1618,7 +1618,7 @@ RegOpenKeyA (HKEY hKey,
{ {
OBJECT_ATTRIBUTES ObjectAttributes; OBJECT_ATTRIBUTES ObjectAttributes;
UNICODE_STRING SubKeyString; UNICODE_STRING SubKeyString;
HKEY KeyHandle; HANDLE KeyHandle;
LONG ErrorCode; LONG ErrorCode;
NTSTATUS Status; NTSTATUS Status;
@ -1638,7 +1638,7 @@ RegOpenKeyA (HKEY hKey,
OBJ_CASE_INSENSITIVE, OBJ_CASE_INSENSITIVE,
KeyHandle, KeyHandle,
NULL); NULL);
Status = NtOpenKey (phkResult, Status = NtOpenKey ((PHANDLE)phkResult,
MAXIMUM_ALLOWED, MAXIMUM_ALLOWED,
&ObjectAttributes); &ObjectAttributes);
RtlFreeUnicodeString (&SubKeyString); RtlFreeUnicodeString (&SubKeyString);
@ -1668,7 +1668,7 @@ RegOpenKeyW (HKEY hKey,
{ {
OBJECT_ATTRIBUTES ObjectAttributes; OBJECT_ATTRIBUTES ObjectAttributes;
UNICODE_STRING SubKeyString; UNICODE_STRING SubKeyString;
HKEY KeyHandle; HANDLE KeyHandle;
LONG ErrorCode; LONG ErrorCode;
NTSTATUS Status; NTSTATUS Status;
@ -1688,7 +1688,7 @@ RegOpenKeyW (HKEY hKey,
OBJ_CASE_INSENSITIVE, OBJ_CASE_INSENSITIVE,
KeyHandle, KeyHandle,
NULL); NULL);
Status = NtOpenKey (phkResult, Status = NtOpenKey ((PHANDLE)phkResult,
MAXIMUM_ALLOWED, MAXIMUM_ALLOWED,
&ObjectAttributes); &ObjectAttributes);
if (!NT_SUCCESS(Status)) if (!NT_SUCCESS(Status))
@ -1716,7 +1716,7 @@ RegOpenKeyExA (HKEY hKey,
{ {
OBJECT_ATTRIBUTES ObjectAttributes; OBJECT_ATTRIBUTES ObjectAttributes;
UNICODE_STRING SubKeyString; UNICODE_STRING SubKeyString;
HKEY KeyHandle; HANDLE KeyHandle;
LONG ErrorCode; LONG ErrorCode;
NTSTATUS Status; NTSTATUS Status;
@ -1736,7 +1736,7 @@ RegOpenKeyExA (HKEY hKey,
OBJ_CASE_INSENSITIVE, OBJ_CASE_INSENSITIVE,
KeyHandle, KeyHandle,
NULL); NULL);
Status = NtOpenKey (phkResult, Status = NtOpenKey ((PHANDLE)phkResult,
samDesired, samDesired,
&ObjectAttributes); &ObjectAttributes);
RtlFreeUnicodeString (&SubKeyString); RtlFreeUnicodeString (&SubKeyString);
@ -1765,7 +1765,7 @@ RegOpenKeyExW (HKEY hKey,
{ {
OBJECT_ATTRIBUTES ObjectAttributes; OBJECT_ATTRIBUTES ObjectAttributes;
UNICODE_STRING SubKeyString; UNICODE_STRING SubKeyString;
HKEY KeyHandle; HANDLE KeyHandle;
LONG ErrorCode; LONG ErrorCode;
NTSTATUS Status; NTSTATUS Status;
@ -1793,7 +1793,7 @@ RegOpenKeyExW (HKEY hKey,
OBJ_CASE_INSENSITIVE, OBJ_CASE_INSENSITIVE,
KeyHandle, KeyHandle,
NULL); NULL);
Status = NtOpenKey (phkResult, Status = NtOpenKey ((PHANDLE)phkResult,
samDesired, samDesired,
&ObjectAttributes); &ObjectAttributes);
if (!NT_SUCCESS(Status)) if (!NT_SUCCESS(Status))
@ -1891,7 +1891,7 @@ RegQueryInfoKeyW (HKEY hKey,
PKEY_FULL_INFORMATION FullInfo; PKEY_FULL_INFORMATION FullInfo;
ULONG FullInfoSize; ULONG FullInfoSize;
ULONG ClassLength; ULONG ClassLength;
HKEY KeyHandle; HANDLE KeyHandle;
NTSTATUS Status; NTSTATUS Status;
LONG ErrorCode = ERROR_SUCCESS; LONG ErrorCode = ERROR_SUCCESS;
ULONG Length; ULONG Length;
@ -2091,12 +2091,12 @@ RegQueryMultipleValuesW (HKEY hKey,
NULL, NULL,
NULL, NULL,
&val_list[i].ve_valuelen); &val_list[i].ve_valuelen);
if(ErrorCode != ERROR_SUCCESS) if (ErrorCode != ERROR_SUCCESS)
{ {
return ErrorCode; 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, ErrorCode = RegQueryValueExW (hKey,
val_list[i].ve_valuename, val_list[i].ve_valuename,
@ -2140,7 +2140,7 @@ RegQueryValueExW (HKEY hKey,
LONG ErrorCode = ERROR_SUCCESS; LONG ErrorCode = ERROR_SUCCESS;
ULONG BufferSize; ULONG BufferSize;
ULONG ResultSize; ULONG ResultSize;
HKEY KeyHandle; HANDLE KeyHandle;
ULONG MaxCopy = lpcbData ? *lpcbData : 0; ULONG MaxCopy = lpcbData ? *lpcbData : 0;
DPRINT("hKey 0x%X lpValueName %S lpData 0x%X lpcbData %d\n", DPRINT("hKey 0x%X lpValueName %S lpData 0x%X lpcbData %d\n",
@ -2449,7 +2449,7 @@ RegQueryValueW (HKEY hKey,
{ {
OBJECT_ATTRIBUTES ObjectAttributes; OBJECT_ATTRIBUTES ObjectAttributes;
UNICODE_STRING SubKeyString; UNICODE_STRING SubKeyString;
HKEY KeyHandle; HANDLE KeyHandle;
HANDLE RealKey; HANDLE RealKey;
LONG ErrorCode; LONG ErrorCode;
BOOL CloseRealKey; BOOL CloseRealKey;
@ -2811,7 +2811,7 @@ RegSaveKeyW (HKEY hKey,
UNICODE_STRING FileName; UNICODE_STRING FileName;
IO_STATUS_BLOCK IoStatusBlock; IO_STATUS_BLOCK IoStatusBlock;
HANDLE FileHandle; HANDLE FileHandle;
HKEY KeyHandle; HANDLE KeyHandle;
NTSTATUS Status; NTSTATUS Status;
LONG ErrorCode; LONG ErrorCode;
@ -2886,7 +2886,7 @@ RegSetKeySecurity (HKEY hKey,
SECURITY_INFORMATION SecurityInformation, SECURITY_INFORMATION SecurityInformation,
PSECURITY_DESCRIPTOR pSecurityDescriptor) PSECURITY_DESCRIPTOR pSecurityDescriptor)
{ {
HKEY KeyHandle; HANDLE KeyHandle;
LONG ErrorCode; LONG ErrorCode;
NTSTATUS Status; NTSTATUS Status;
@ -3019,7 +3019,7 @@ RegSetValueExW (HKEY hKey,
{ {
UNICODE_STRING ValueName; UNICODE_STRING ValueName;
PUNICODE_STRING pValueName; PUNICODE_STRING pValueName;
HKEY KeyHandle; HANDLE KeyHandle;
NTSTATUS Status; NTSTATUS Status;
LONG ErrorCode; LONG ErrorCode;
@ -3134,7 +3134,7 @@ RegSetValueW (HKEY hKey,
{ {
OBJECT_ATTRIBUTES ObjectAttributes; OBJECT_ATTRIBUTES ObjectAttributes;
UNICODE_STRING SubKeyString; UNICODE_STRING SubKeyString;
HKEY KeyHandle; HANDLE KeyHandle;
HANDLE RealKey; HANDLE RealKey;
LONG ErrorCode; LONG ErrorCode;
BOOL CloseRealKey; BOOL CloseRealKey;

View 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 * COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS system libraries * PROJECT: ReactOS system libraries
@ -12,28 +12,200 @@
* *
*/ */
#define NTOS_MODE_USER
#include <ntos.h>
#include <windows.h> #include <windows.h>
#include <ddk/ntddk.h>
#include <ntsecapi.h> #include <ntsecapi.h>
#define NDEBUG
#include <debug.h> #include <debug.h>
#ifndef SID_REVISION /* FIXME - Winnt.h */
#define SID_REVISION (1) /* Current revision */
#endif
/*
* @unimplemented
*/
NTSTATUS STDCALL
LsaClose(LSA_HANDLE ObjectHandle)
{
DPRINT1("(%p):LsaClose stub\n",ObjectHandle);
return 0xc0000000;
}
/*
* @unimplemented
*/
NTSTATUS
STDCALL
LsaAddAccountRights(
LSA_HANDLE PolicyHandle,
PSID AccountSid,
PLSA_UNICODE_STRING UserRights,
ULONG CountOfRights)
{
return STATUS_NOT_IMPLEMENTED;
}
/*
* @unimplemented
*/
NTSTATUS
STDCALL
LsaCreateTrustedDomainEx(
LSA_HANDLE PolicyHandle,
PTRUSTED_DOMAIN_INFORMATION_EX TrustedDomainInformation,
PTRUSTED_DOMAIN_AUTH_INFORMATION AuthenticationInformation,
ACCESS_MASK DesiredAccess,
PLSA_HANDLE TrustedDomainHandle)
{
return STATUS_NOT_IMPLEMENTED;
}
/*
* @unimplemented
*/
NTSTATUS
STDCALL
LsaDeleteTrustedDomain(
LSA_HANDLE PolicyHandle,
PSID TrustedDomainSid)
{
return STATUS_NOT_IMPLEMENTED;
}
/*
* @unimplemented
*/
NTSTATUS
STDCALL
LsaEnumerateAccountRights(
LSA_HANDLE PolicyHandle,
PSID AccountSid,
PLSA_UNICODE_STRING *UserRights,
PULONG CountOfRights)
{
return STATUS_NOT_IMPLEMENTED;
}
/*
* @unimplemented
*/
NTSTATUS
STDCALL
LsaEnumerateAccountsWithUserRight(
LSA_HANDLE PolicyHandle,
OPTIONAL PLSA_UNICODE_STRING UserRights,
PVOID *EnumerationBuffer,
PULONG CountReturned)
{
return STATUS_NOT_IMPLEMENTED;
}
/*
* @unimplemented
*/
NTSTATUS
STDCALL
LsaEnumerateTrustedDomains(
LSA_HANDLE PolicyHandle,
PLSA_ENUMERATION_HANDLE EnumerationContext,
PVOID *Buffer,
ULONG PreferedMaximumLength,
PULONG CountReturned)
{
return STATUS_NOT_IMPLEMENTED;
}
/*
* @unimplemented
*/
NTSTATUS
STDCALL
LsaEnumerateTrustedDomainsEx(
LSA_HANDLE PolicyHandle,
PLSA_ENUMERATION_HANDLE EnumerationContext,
PVOID *Buffer,
ULONG PreferedMaximumLength,
PULONG CountReturned)
{
return STATUS_NOT_IMPLEMENTED;
}
/*
* @implemented
*/
NTSTATUS STDCALL
LsaFreeMemory(PVOID Buffer)
{
return RtlFreeHeap(RtlGetProcessHeap(), 0, Buffer);
}
/*
* @unimplemented
*/
NTSTATUS
STDCALL
LsaLookupNames(
LSA_HANDLE PolicyHandle,
ULONG Count,
PLSA_UNICODE_STRING Names,
PLSA_REFERENCED_DOMAIN_LIST *ReferencedDomains,
PLSA_TRANSLATED_SID *Sids)
{
return STATUS_NOT_IMPLEMENTED;
}
/*
* @unimplemented
*/
NTSTATUS
STDCALL
LsaLookupNames2(
LSA_HANDLE PolicyHandle,
ULONG Flags,
ULONG Count,
PLSA_UNICODE_STRING Names,
PLSA_REFERENCED_DOMAIN_LIST *ReferencedDomains,
PLSA_TRANSLATED_SID2 *Sids)
{
return STATUS_NOT_IMPLEMENTED;
}
/*
* @unimplemented
*/
NTSTATUS
STDCALL
LsaLookupSids(
LSA_HANDLE PolicyHandle,
ULONG Count,
PSID *Sids,
PLSA_REFERENCED_DOMAIN_LIST *ReferencedDomains,
PLSA_TRANSLATED_NAME *Names)
{
return STATUS_NOT_IMPLEMENTED;
}
/****************************************************************************** /******************************************************************************
* LsaNtStatusToWinError [ADVAPI32.@] * LsaNtStatusToWinError
* *
* PARAMS * PARAMS
* Status [I] * Status [I]
* *
* @implemented * @implemented
*/ */
ULONG WINAPI ULONG STDCALL
LsaNtStatusToWinError(NTSTATUS Status) LsaNtStatusToWinError(NTSTATUS Status)
{ {
return RtlNtStatusToDosError(Status); return RtlNtStatusToDosError(Status);
} }
/****************************************************************************** /******************************************************************************
* LsaOpenPolicy [ADVAPI32.@] * LsaOpenPolicy
* *
* PARAMS * PARAMS
* x1 [] * x1 []
@ -44,30 +216,69 @@ LsaNtStatusToWinError(NTSTATUS Status)
* @unimplemented * @unimplemented
*/ */
NTSTATUS STDCALL NTSTATUS STDCALL
LsaOpenPolicy (PLSA_UNICODE_STRING lsaucs, LsaOpenPolicy(PLSA_UNICODE_STRING lsaucs,
PLSA_OBJECT_ATTRIBUTES lsaoa, PLSA_OBJECT_ATTRIBUTES lsaoa,
ACCESS_MASK access, ACCESS_MASK access,
PLSA_HANDLE lsah) PLSA_HANDLE PolicyHandle)
{ {
DPRINT1("LsaOpenPolicy - stub\n"); DPRINT1("LsaOpenPolicy - stub\n");
return STATUS_SUCCESS; return STATUS_SUCCESS;
} }
#ifndef SID_REVISION /* FIXME - Winnt.h */
#define SID_REVISION (1) /* Current revision */
#endif
/* /*
* @unimplemented * @unimplemented
*/ */
NTSTATUS NTSTATUS
STDCALL STDCALL
LsaQueryInformationPolicy(LSA_HANDLE lsah,POLICY_INFORMATION_CLASS pic,PVOID* Buffer) LsaOpenTrustedDomainByName(
LSA_HANDLE PolicyHandle,
PLSA_UNICODE_STRING TrustedDomainName,
ACCESS_MASK DesiredAccess,
PLSA_HANDLE TrustedDomainHandle)
{ {
DPRINT1("(%p,0x%08x,%p):LsaQueryInformationPolicy stub\n", return STATUS_NOT_IMPLEMENTED;
lsah, pic, Buffer); }
/*
* @unimplemented
*/
NTSTATUS
STDCALL
LsaQueryDomainInformationPolicy(
LSA_HANDLE PolicyHandle,
POLICY_DOMAIN_INFORMATION_CLASS pic,
PVOID *Buffer)
{
return STATUS_NOT_IMPLEMENTED;
}
/*
* @unimplemented
*/
NTSTATUS
STDCALL
LsaQueryForestTrustInformation(
LSA_HANDLE PolicyHandle,
PLSA_UNICODE_STRING TrustedDomainName,
PLSA_FOREST_TRUST_INFORMATION * ForestTrustInfo)
{
return STATUS_NOT_IMPLEMENTED;
}
/*
* @unimplemented
*/
NTSTATUS STDCALL
LsaQueryInformationPolicy(LSA_HANDLE PolicyHandle,
POLICY_INFORMATION_CLASS pic,
PVOID *Buffer)
{
DPRINT1("(%p,0x%08x,%p):LsaQueryInformationPolicy stub\n",
PolicyHandle, pic, Buffer);
if (!Buffer)
return FALSE;
if(!Buffer) return FALSE;
switch (pic) switch (pic)
{ {
case PolicyAuditEventsInformation: /* 2 */ case PolicyAuditEventsInformation: /* 2 */
@ -129,15 +340,16 @@ LsaQueryInformationPolicy(LSA_HANDLE lsah,POLICY_INFORMATION_CLASS pic,PVOID* Bu
*Buffer = xdi; *Buffer = xdi;
} }
break; break;
case PolicyAuditLogInformation: case PolicyAuditLogInformation:
case PolicyPdAccountInformation: case PolicyPdAccountInformation:
case PolicyLsaServerRoleInformation: case PolicyLsaServerRoleInformation:
case PolicyReplicaSourceInformation: case PolicyReplicaSourceInformation:
case PolicyDefaultQuotaInformation: case PolicyDefaultQuotaInformation:
case PolicyModificationInformation: case PolicyModificationInformation:
case PolicyAuditFullSetInformation: case PolicyAuditFullSetInformation:
case PolicyAuditFullQueryInformation: case PolicyAuditFullQueryInformation:
case PolicyDnsDomainInformation: case PolicyDnsDomainInformation:
case PolicyEfsInformation:
{ {
DPRINT1("category not implemented\n"); DPRINT1("category not implemented\n");
return FALSE; return FALSE;
@ -146,236 +358,18 @@ LsaQueryInformationPolicy(LSA_HANDLE lsah,POLICY_INFORMATION_CLASS pic,PVOID* Bu
return TRUE; return TRUE;
} }
/*
* @implemented
*/
NTSTATUS STDCALL
LsaFreeMemory (PVOID pv)
{
return RtlFreeHeap(RtlGetProcessHeap(), 0, pv);
}
/*
* @unimplemented
*/
NTSTATUS STDCALL
LsaClose(LSA_HANDLE ObjectHandle)
{
DPRINT1("(%p):LsaClose stub\n",ObjectHandle);
return 0xc0000000;
}
/*
* @unimplemented
*/
NTSTATUS
STDCALL
LsaAddAccountRights(
LSA_HANDLE lsah,
PSID AccountSid,
PLSA_UNICODE_STRING UserRights,
ULONG CountOfRights
)
{
return(FALSE);
}
/*
* @unimplemented
*/
NTSTATUS
STDCALL
LsaCreateTrustedDomainEx(
LSA_HANDLE lsah,
PTRUSTED_DOMAIN_INFORMATION_EX TrustedDomainInformation,
PTRUSTED_DOMAIN_AUTH_INFORMATION AuthenticationInformation,
ACCESS_MASK DesiredAccess,
PLSA_HANDLE TrustedDomainHandle
)
{
return(FALSE);
}
/*
* @unimplemented
*/
NTSTATUS
STDCALL
LsaDeleteTrustedDomain(
LSA_HANDLE lsah,
PSID TrustedDomainSid
)
{
return(FALSE);
}
/*
* @unimplemented
*/
NTSTATUS
STDCALL
LsaEnumerateAccountRights(
LSA_HANDLE lsah,
PSID AccountSid,
PLSA_UNICODE_STRING *UserRights,
PULONG CountOfRights
)
{
return(FALSE);
}
/*
* @unimplemented
*/
NTSTATUS
STDCALL
LsaEnumerateAccountsWithUserRight(
LSA_HANDLE lsah,
OPTIONAL PLSA_UNICODE_STRING UserRights,
PVOID *EnumerationBuffer,
PULONG CountReturned
)
{
return(FALSE);
}
/*
* @unimplemented
*/
NTSTATUS
STDCALL
LsaEnumerateTrustedDomains(
LSA_HANDLE lsah,
PLSA_ENUMERATION_HANDLE EnumerationContext,
PVOID *Buffer,
ULONG PreferedMaximumLength,
PULONG CountReturned
)
{
return(FALSE);
}
/*
* @unimplemented
*/
NTSTATUS
STDCALL
LsaEnumerateTrustedDomainsEx(
LSA_HANDLE lsah,
PLSA_ENUMERATION_HANDLE EnumerationContext,
PVOID *Buffer,
ULONG PreferedMaximumLength,
PULONG CountReturned
)
{
return(FALSE);
}
/*
* @unimplemented
*/
NTSTATUS
STDCALL
LsaLookupNames(
LSA_HANDLE lsah,
ULONG Count,
PLSA_UNICODE_STRING Names,
PLSA_REFERENCED_DOMAIN_LIST *ReferencedDomains,
PLSA_TRANSLATED_SID *Sids
)
{
return(FALSE);
}
/*
* @unimplemented
*/
NTSTATUS
STDCALL
LsaLookupNames2(
LSA_HANDLE lsah,
ULONG Flags,
ULONG Count,
PLSA_UNICODE_STRING Names,
PLSA_REFERENCED_DOMAIN_LIST *ReferencedDomains,
PLSA_TRANSLATED_SID2 *Sids
)
{
return(FALSE);
}
/*
* @unimplemented
*/
NTSTATUS
STDCALL
LsaLookupSids(
LSA_HANDLE lsah,
ULONG Count,
PSID *Sids,
PLSA_REFERENCED_DOMAIN_LIST *ReferencedDomains,
PLSA_TRANSLATED_NAME *Names
)
{
return(FALSE);
}
/*
* @unimplemented
*/
NTSTATUS
STDCALL
LsaOpenTrustedDomainByName(
LSA_HANDLE lsah,
PLSA_UNICODE_STRING TrustedDomainName,
ACCESS_MASK DesiredAccess,
PLSA_HANDLE TrustedDomainHandle
)
{
return(FALSE);
}
/*
* @unimplemented
*/
NTSTATUS
STDCALL
LsaQueryDomainInformationPolicy(
LSA_HANDLE lsah,
POLICY_DOMAIN_INFORMATION_CLASS pic,
PVOID *Buffer
)
{
return(FALSE);
}
/*
* @unimplemented
*/
NTSTATUS
STDCALL
LsaQueryForestTrustInformation(
LSA_HANDLE lsah,
PLSA_UNICODE_STRING TrustedDomainName,
PLSA_FOREST_TRUST_INFORMATION * ForestTrustInfo
)
{
return(FALSE);
}
/* /*
* @unimplemented * @unimplemented
*/ */
NTSTATUS NTSTATUS
STDCALL STDCALL
LsaQueryTrustedDomainInfoByName( LsaQueryTrustedDomainInfoByName(
LSA_HANDLE lsah, LSA_HANDLE PolicyHandle,
PLSA_UNICODE_STRING TrustedDomainName, PLSA_UNICODE_STRING TrustedDomainName,
TRUSTED_INFORMATION_CLASS pic, TRUSTED_INFORMATION_CLASS pic,
PVOID *Buffer PVOID *Buffer)
)
{ {
return(FALSE); return STATUS_NOT_IMPLEMENTED;
} }
/* /*
@ -384,13 +378,12 @@ LsaQueryTrustedDomainInfoByName(
NTSTATUS NTSTATUS
STDCALL STDCALL
LsaQueryTrustedDomainInfo( LsaQueryTrustedDomainInfo(
LSA_HANDLE lsah, LSA_HANDLE PolicyHandle,
PSID TrustedDomainSid, PSID TrustedDomainSid,
TRUSTED_INFORMATION_CLASS pic, TRUSTED_INFORMATION_CLASS pic,
PVOID *Buffer PVOID *Buffer)
)
{ {
return(FALSE); return STATUS_NOT_IMPLEMENTED;
} }
/* /*
@ -399,14 +392,13 @@ LsaQueryTrustedDomainInfo(
NTSTATUS NTSTATUS
STDCALL STDCALL
LsaRemoveAccountRights( LsaRemoveAccountRights(
LSA_HANDLE lsah, LSA_HANDLE PolicyHandle,
PSID AccountSid, PSID AccountSid,
BOOL AllRights, BOOLEAN AllRights,
PLSA_UNICODE_STRING UserRights, PLSA_UNICODE_STRING UserRights,
ULONG CountOfRights ULONG CountOfRights)
)
{ {
return(FALSE); return STATUS_NOT_IMPLEMENTED;
} }
/* /*
@ -415,12 +407,11 @@ LsaRemoveAccountRights(
NTSTATUS NTSTATUS
STDCALL STDCALL
LsaRetrievePrivateData( LsaRetrievePrivateData(
LSA_HANDLE lsah, LSA_HANDLE PolicyHandle,
PLSA_UNICODE_STRING KeyName, PLSA_UNICODE_STRING KeyName,
PLSA_UNICODE_STRING * PrivateData PLSA_UNICODE_STRING *PrivateData)
)
{ {
return(FALSE); return STATUS_NOT_IMPLEMENTED;
} }
/* /*
@ -429,12 +420,11 @@ LsaRetrievePrivateData(
NTSTATUS NTSTATUS
STDCALL STDCALL
LsaSetDomainInformationPolicy( LsaSetDomainInformationPolicy(
LSA_HANDLE lsah, LSA_HANDLE PolicyHandle,
POLICY_DOMAIN_INFORMATION_CLASS pic, POLICY_DOMAIN_INFORMATION_CLASS pic,
PVOID Buffer PVOID Buffer)
)
{ {
return(FALSE); return STATUS_NOT_IMPLEMENTED;
} }
/* /*
@ -443,12 +433,11 @@ LsaSetDomainInformationPolicy(
NTSTATUS NTSTATUS
STDCALL STDCALL
LsaSetInformationPolicy( LsaSetInformationPolicy(
LSA_HANDLE lsah, LSA_HANDLE PolicyHandle,
POLICY_INFORMATION_CLASS pic, POLICY_INFORMATION_CLASS pic,
PVOID Buffer PVOID Buffer)
)
{ {
return(FALSE); return STATUS_NOT_IMPLEMENTED;
} }
/* /*
@ -457,14 +446,13 @@ LsaSetInformationPolicy(
NTSTATUS NTSTATUS
STDCALL STDCALL
LsaSetForestTrustInformation( LsaSetForestTrustInformation(
LSA_HANDLE lsah, LSA_HANDLE PolicyHandle,
PLSA_UNICODE_STRING TrustedDomainName, PLSA_UNICODE_STRING TrustedDomainName,
PLSA_FOREST_TRUST_INFORMATION ForestTrustInfo, PLSA_FOREST_TRUST_INFORMATION ForestTrustInfo,
BOOL CheckOnly, 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 NTSTATUS
STDCALL STDCALL
LsaSetTrustedDomainInfoByName( LsaSetTrustedDomainInfoByName(
LSA_HANDLE lsah, LSA_HANDLE PolicyHandle,
PLSA_UNICODE_STRING TrustedDomainName, PLSA_UNICODE_STRING TrustedDomainName,
TRUSTED_INFORMATION_CLASS pic, TRUSTED_INFORMATION_CLASS pic,
PVOID Buffer PVOID Buffer)
)
{ {
return(FALSE); return STATUS_NOT_IMPLEMENTED;
} }
/* /*
@ -488,13 +475,12 @@ LsaSetTrustedDomainInfoByName(
NTSTATUS NTSTATUS
STDCALL STDCALL
LsaSetTrustedDomainInformation( LsaSetTrustedDomainInformation(
LSA_HANDLE lsah, LSA_HANDLE PolicyHandle,
PSID TrustedDomainSid, PSID TrustedDomainSid,
TRUSTED_INFORMATION_CLASS pic, TRUSTED_INFORMATION_CLASS pic,
PVOID Buffer PVOID Buffer)
)
{ {
return(FALSE); return STATUS_NOT_IMPLEMENTED;
} }
/* /*
@ -503,10 +489,9 @@ LsaSetTrustedDomainInformation(
NTSTATUS NTSTATUS
STDCALL STDCALL
LsaStorePrivateData( LsaStorePrivateData(
LSA_HANDLE lsah, LSA_HANDLE PolicyHandle,
PLSA_UNICODE_STRING KeyName, PLSA_UNICODE_STRING KeyName,
PLSA_UNICODE_STRING PrivateData PLSA_UNICODE_STRING PrivateData)
)
{ {
return(FALSE); return STATUS_NOT_IMPLEMENTED;
} }

View 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 * COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS system libraries * PROJECT: ReactOS system libraries
@ -9,8 +9,9 @@
* 20010317 ea stubs * 20010317 ea stubs
*/ */
#define NTOS_MODE_USER
#include <ntos.h>
#include <windows.h> #include <windows.h>
#include <ddk/ntddk.h>
/********************************************************************** /**********************************************************************

View file

@ -247,6 +247,17 @@ typedef enum _TRUSTED_INFORMATION_CLASS {
TrustedDomainAuthInformation, TrustedDomainAuthInformation,
TrustedDomainFullInformation TrustedDomainFullInformation
} TRUSTED_INFORMATION_CLASS, *PTRUSTED_INFORMATION_CLASS; } 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 { typedef struct _DOMAIN_PASSWORD_INFORMATION {
USHORT MinPasswordLength; USHORT MinPasswordLength;
USHORT PasswordHistoryLength; USHORT PasswordHistoryLength;
@ -270,6 +281,39 @@ typedef struct _LSA_OBJECT_ATTRIBUTES {
} OBJECT_ATTRIBUTES, *POBJECT_ATTRIBUTES; } OBJECT_ATTRIBUTES, *POBJECT_ATTRIBUTES;
#endif #endif
typedef OBJECT_ATTRIBUTES LSA_OBJECT_ATTRIBUTES, *PLSA_OBJECT_ATTRIBUTES; 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 { typedef struct _LSA_TRUST_INFORMATION {
LSA_UNICODE_STRING Name; LSA_UNICODE_STRING Name;
PSID Sid; PSID Sid;
@ -283,6 +327,12 @@ typedef struct _LSA_TRANSLATED_SID {
ULONG RelativeId; ULONG RelativeId;
LONG DomainIndex; LONG DomainIndex;
} LSA_TRANSLATED_SID, *PLSA_TRANSLATED_SID; } 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 { typedef struct _LSA_TRANSLATED_NAME {
SID_NAME_USE Use; SID_NAME_USE Use;
LSA_UNICODE_STRING Name; LSA_UNICODE_STRING Name;
@ -562,7 +612,7 @@ NTSTATUS NTAPI LsaEnumerateAccountsWithUserRight(LSA_HANDLE,PLSA_UNICODE_STRING,
NTSTATUS NTAPI LsaEnumerateTrustedDomains(LSA_HANDLE,PLSA_ENUMERATION_HANDLE, NTSTATUS NTAPI LsaEnumerateTrustedDomains(LSA_HANDLE,PLSA_ENUMERATION_HANDLE,
PVOID*,ULONG,PULONG); PVOID*,ULONG,PULONG);
NTSTATUS NTAPI LsaEnumerateTrustedDomainsEx(LSA_HANDLE,PLSA_ENUMERATION_HANDLE, NTSTATUS NTAPI LsaEnumerateTrustedDomainsEx(LSA_HANDLE,PLSA_ENUMERATION_HANDLE,
TRUSTED_INFORMATION_CLASS,PVOID*,ULONG,PULONG); PVOID*,ULONG,PULONG);
NTSTATUS NTAPI LsaFreeMemory(PVOID); NTSTATUS NTAPI LsaFreeMemory(PVOID);
NTSTATUS NTAPI LsaFreeReturnBuffer(PVOID); NTSTATUS NTAPI LsaFreeReturnBuffer(PVOID);
NTSTATUS NTAPI LsaLogonUser(HANDLE,PLSA_STRING,SECURITY_LOGON_TYPE,ULONG,PVOID, NTSTATUS NTAPI LsaLogonUser(HANDLE,PLSA_STRING,SECURITY_LOGON_TYPE,ULONG,PVOID,