mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-09-02 04:13:34 +00:00
Use W32API.
svn path=/trunk/; revision=15953
This commit is contained in:
@@ -95,20 +95,23 @@ typedef struct _LSASS_REGISTER_LOGON_PROCESS_REPLY
|
||||
LSA_OPERATIONAL_MODE OperationalMode;
|
||||
} LSASS_REGISTER_LOGON_PROCESS_REPLY, *PLSASS_REGISTER_LOGON_PROCESS_REPLY;
|
||||
|
||||
typedef struct _LSASS_REQUEST
|
||||
typedef union _LSASS_REQUEST
|
||||
{
|
||||
LPC_MESSAGE Header;
|
||||
ULONG Type;
|
||||
union
|
||||
{
|
||||
LSASS_REGISTER_LOGON_PROCESS_REQUEST RegisterLogonProcessRequest;
|
||||
LSASS_LOGON_USER_REQUEST LogonUserRequest;
|
||||
LSASS_CALL_AUTHENTICATION_PACKAGE_REQUEST
|
||||
CallAuthenticationPackageRequest;
|
||||
LSASS_DEREGISTER_LOGON_PROCESS_REPLY DeregisterLogonProcessRequest;
|
||||
LSASS_LOOKUP_AUTHENTICATION_PACKAGE_REQUEST
|
||||
LookupAuthenticationPackageRequest;
|
||||
} d;
|
||||
struct {
|
||||
UCHAR LpcHeader[LPC_MESSAGE_BASE_SIZE];
|
||||
ULONG Type;
|
||||
union
|
||||
{
|
||||
LSASS_REGISTER_LOGON_PROCESS_REQUEST RegisterLogonProcessRequest;
|
||||
LSASS_LOGON_USER_REQUEST LogonUserRequest;
|
||||
LSASS_CALL_AUTHENTICATION_PACKAGE_REQUEST
|
||||
CallAuthenticationPackageRequest;
|
||||
LSASS_DEREGISTER_LOGON_PROCESS_REPLY DeregisterLogonProcessRequest;
|
||||
LSASS_LOOKUP_AUTHENTICATION_PACKAGE_REQUEST
|
||||
LookupAuthenticationPackageRequest;
|
||||
} d;
|
||||
};
|
||||
} LSASS_REQUEST, *PLSASS_REQUEST;
|
||||
|
||||
typedef struct _LSASS_REPLY
|
||||
|
||||
+13
-12
@@ -11,9 +11,9 @@
|
||||
/* INCLUDES ******************************************************************/
|
||||
|
||||
#include <windows.h>
|
||||
#include <ddk/ntddk.h>
|
||||
#include <rosrtl/string.h>
|
||||
#include <ntsecapi.h>
|
||||
#include <lsass/lsass.h>
|
||||
#include <rosrtl/string.h>
|
||||
#include <string.h>
|
||||
|
||||
/* GLOBALS *******************************************************************/
|
||||
@@ -83,9 +83,9 @@ LsaCallAuthenticationPackage(HANDLE LsaHandle,
|
||||
Reply = (PLSASS_REPLY)RawReply;
|
||||
|
||||
Request->Header.DataSize = sizeof(LSASS_REQUEST) + SubmitBufferLength -
|
||||
sizeof(LPC_MESSAGE);
|
||||
LPC_MESSAGE_BASE_SIZE;
|
||||
Request->Header.MessageSize =
|
||||
Request->Header.DataSize + sizeof(LPC_MESSAGE);
|
||||
Request->Header.DataSize + LPC_MESSAGE_BASE_SIZE;
|
||||
Request->Type = LSASS_REQUEST_CALL_AUTHENTICATION_PACKAGE;
|
||||
Request->d.CallAuthenticationPackageRequest.AuthenticationPackage =
|
||||
AuthenticationPackage;
|
||||
@@ -146,9 +146,9 @@ LsaLookupAuthenticationPackage(HANDLE LsaHandle,
|
||||
|
||||
Request = (PLSASS_REQUEST)RawRequest;
|
||||
Request->Header.DataSize = sizeof(LSASS_REQUEST) + PackageName->Length -
|
||||
sizeof(LPC_MESSAGE);
|
||||
LPC_MESSAGE_BASE_SIZE;
|
||||
Request->Header.MessageSize = Request->Header.DataSize +
|
||||
sizeof(LPC_MESSAGE);
|
||||
LPC_MESSAGE_BASE_SIZE;
|
||||
Request->Type = LSASS_REQUEST_LOOKUP_AUTHENTICATION_PACKAGE;
|
||||
|
||||
Status = NtRequestWaitReplyPort(LsaHandle,
|
||||
@@ -196,7 +196,7 @@ LsaLogonUser(HANDLE LsaHandle,
|
||||
UCHAR RawReply[MAX_MESSAGE_DATA];
|
||||
NTSTATUS Status;
|
||||
|
||||
RequestLength = sizeof(LSASS_REQUEST) - sizeof(LPC_MESSAGE);
|
||||
RequestLength = sizeof(LSASS_REQUEST) - LPC_MESSAGE_BASE_SIZE;
|
||||
RequestLength = RequestLength + (OriginName->Length * sizeof(WCHAR));
|
||||
RequestLength = RequestLength + AuthenticationInformationLength;
|
||||
RequestLength = RequestLength +
|
||||
@@ -236,8 +236,8 @@ LsaLogonUser(HANDLE LsaHandle,
|
||||
Request->d.LogonUserRequest.SourceContext = *SourceContext;
|
||||
|
||||
Request->Type = LSASS_REQUEST_LOGON_USER;
|
||||
Request->Header.DataSize = RequestLength - sizeof(LPC_MESSAGE);
|
||||
Request->Header.MessageSize = RequestLength + sizeof(LPC_MESSAGE);
|
||||
Request->Header.DataSize = RequestLength - LPC_MESSAGE_BASE_SIZE;
|
||||
Request->Header.MessageSize = RequestLength + LPC_MESSAGE_BASE_SIZE;
|
||||
|
||||
Reply = (PLSASS_REPLY)RawReply;
|
||||
|
||||
@@ -303,12 +303,13 @@ LsaRegisterLogonProcess(PLSA_STRING LsaLogonProcessName,
|
||||
|
||||
Request.Type = LSASS_REQUEST_REGISTER_LOGON_PROCESS;
|
||||
Request.Header.DataSize = sizeof(LSASS_REQUEST) -
|
||||
sizeof(LPC_MESSAGE);
|
||||
LPC_MESSAGE_BASE_SIZE;
|
||||
Request.Header.MessageSize = sizeof(LSASS_REQUEST);
|
||||
|
||||
Request.d.RegisterLogonProcessRequest.Length = LsaLogonProcessName->Length;
|
||||
wcscpy(Request.d.RegisterLogonProcessRequest.LogonProcessNameBuffer,
|
||||
LsaLogonProcessName->Buffer);
|
||||
memcpy(Request.d.RegisterLogonProcessRequest.LogonProcessNameBuffer,
|
||||
LsaLogonProcessName->Buffer,
|
||||
Request.d.RegisterLogonProcessRequest.Length);
|
||||
|
||||
Status = NtRequestWaitReplyPort(*Handle,
|
||||
&Request.Header,
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
<importlibrary definition="secur32.def" />
|
||||
<include base="secur32">.</include>
|
||||
<define name="__SECUR32__" />
|
||||
<define name="__USE_W32API" />
|
||||
<library>ntdll</library>
|
||||
<library>kernel32</library>
|
||||
<library>advapi32</library>
|
||||
|
||||
Reference in New Issue
Block a user