mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 19:12:57 +00:00
some ideas about LPC
svn path=/trunk/; revision=555
This commit is contained in:
parent
11d31698d5
commit
6409ce374c
2 changed files with 163 additions and 21 deletions
|
@ -5121,42 +5121,26 @@ ZwYieldExecution(
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
* --- Local Procedure Call Facility
|
||||||
* These prototypes are unknown as yet
|
* These prototypes are unknown as yet
|
||||||
|
* (stack sizes by Peter-Michael Hager)
|
||||||
*/
|
*/
|
||||||
|
#ifndef PROTO_LPC
|
||||||
NTSTATUS STDCALL NtAcceptConnectPort(VOID);
|
NTSTATUS STDCALL NtAcceptConnectPort(VOID);
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS STDCALL NtCompleteConnectPort(VOID);
|
NTSTATUS STDCALL NtCompleteConnectPort(VOID);
|
||||||
//NTSTATUS STDCALL NtConnectPort(VOID);
|
//NTSTATUS STDCALL NtConnectPort(VOID);
|
||||||
NTSTATUS STDCALL NtConnectPort(PHANDLE Handle,
|
NTSTATUS STDCALL NtConnectPort(PHANDLE Handle,
|
||||||
POBJECT_ATTRIBUTES ObjectAttributes);
|
POBJECT_ATTRIBUTES ObjectAttributes);
|
||||||
|
|
||||||
//NTSTATUS STDCALL NtCreatePort(VOID);
|
//NTSTATUS STDCALL NtCreatePort(VOID);
|
||||||
NTSTATUS STDCALL NtCreatePort(PHANDLE PortHandle,
|
NTSTATUS STDCALL NtCreatePort(PHANDLE PortHandle,
|
||||||
ACCESS_MASK DesiredAccess,
|
ACCESS_MASK DesiredAccess,
|
||||||
POBJECT_ATTRIBUTES ObjectAttributes);
|
POBJECT_ATTRIBUTES ObjectAttributes);
|
||||||
|
|
||||||
NTSTATUS STDCALL NtGetPlugPlayEvent(VOID);
|
|
||||||
NTSTATUS STDCALL NtImpersonateClientOfPort(VOID);
|
NTSTATUS STDCALL NtImpersonateClientOfPort(VOID);
|
||||||
|
|
||||||
//NTSTATUS STDCALL NtListenPort(VOID);
|
//NTSTATUS STDCALL NtListenPort(VOID);
|
||||||
NTSTATUS STDCALL NtListenPort(HANDLE PortHandle,
|
NTSTATUS STDCALL NtListenPort(HANDLE PortHandle,
|
||||||
PLARGE_INTEGER Timeout,
|
PLARGE_INTEGER Timeout,
|
||||||
PPORT_MSG_DATA Msg);
|
PPORT_MSG_DATA Msg);
|
||||||
|
|
||||||
NTSTATUS STDCALL NtLoadKey2(VOID);
|
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS STDCALL NtPlugPlayControl(VOID);
|
|
||||||
|
|
||||||
NTSTATUS STDCALL NtQueryDefaultLocale(VOID);
|
|
||||||
|
|
||||||
NTSTATUS STDCALL NtQueryInformationPort(VOID);
|
NTSTATUS STDCALL NtQueryInformationPort(VOID);
|
||||||
|
|
||||||
NTSTATUS STDCALL NtQueryOleDirectoryFile(VOID);
|
|
||||||
|
|
||||||
NTSTATUS STDCALL NtRaiseHardError(VOID);
|
|
||||||
NTSTATUS STDCALL NtReadRequestData(VOID);
|
|
||||||
NTSTATUS STDCALL NtReplyPort(VOID);
|
NTSTATUS STDCALL NtReplyPort(VOID);
|
||||||
NTSTATUS STDCALL NtReplyWaitReceivePort(VOID);
|
NTSTATUS STDCALL NtReplyWaitReceivePort(VOID);
|
||||||
NTSTATUS STDCALL NtReplyWaitReplyPort(VOID);
|
NTSTATUS STDCALL NtReplyWaitReplyPort(VOID);
|
||||||
|
@ -5166,6 +5150,136 @@ NTSTATUS STDCALL NtRequestPort(HANDLE PortHandle,
|
||||||
PVOID Data,
|
PVOID Data,
|
||||||
ULONG Options,
|
ULONG Options,
|
||||||
PHANDLE ReplyPortHandle);
|
PHANDLE ReplyPortHandle);
|
||||||
|
NTSTATUS STDCALL NtRequestWaitReplyPort(VOID);
|
||||||
|
NTSTATUS STDCALL NtReadRequestData(VOID);
|
||||||
|
NTSTATUS STDCALL NtWriteRequestData(VOID);
|
||||||
|
#else
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
NtAcceptConnectPort ( /* @24 */
|
||||||
|
IN HANDLE PortHandle,
|
||||||
|
DWORD a1,
|
||||||
|
DWORD a2,
|
||||||
|
DWORD a3,
|
||||||
|
DWORD a4,
|
||||||
|
DWORD a5
|
||||||
|
);
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
NtCompleteConnectPort ( /* @4 */
|
||||||
|
HANDLE PortHandle
|
||||||
|
);
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
NtConnectPort ( /* @32 */
|
||||||
|
IN HANDLE PortHandle,
|
||||||
|
DWORD a1,
|
||||||
|
DWORD a2,
|
||||||
|
DWORD a3,
|
||||||
|
DWORD a4,
|
||||||
|
DWORD a5,
|
||||||
|
DWORD a6,
|
||||||
|
DWORD a7,
|
||||||
|
DWORD a8
|
||||||
|
);
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
NtCreatePort ( /* @20 */
|
||||||
|
OUT PHANDLE PortHandle,
|
||||||
|
IN ACCESS_MASK DesiredAccess,
|
||||||
|
IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
|
||||||
|
IN DWORD a3,
|
||||||
|
IN DWORD a4
|
||||||
|
);
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
NtImpersonateClientOfPort ( /* @8 */
|
||||||
|
IN HANDLE PortHandle,
|
||||||
|
IN PCLIENT_ID ClientId
|
||||||
|
);
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
NtListenPort ( /* @8 */
|
||||||
|
IN HANDLE PortHAndle,
|
||||||
|
IN DWORD QueueSize /* guess */
|
||||||
|
);
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
NtQueryInformationPort ( /* @20 */
|
||||||
|
IN HANDLE PortHandle,
|
||||||
|
IN CINT PortInformationClass, /* guess */
|
||||||
|
OUT PVOID PortInformation, /* guess */
|
||||||
|
IN ULONG PortInformationLength, /* guess */
|
||||||
|
OUT PULONG ReturnLength /* guess */
|
||||||
|
);
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
NtReplyPort ( /* @8 */
|
||||||
|
IN HANDLE PortHandle,
|
||||||
|
IN PLPC_REPLY LpcReply /* guess */
|
||||||
|
);
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
NtReplyWaitReceivePort ( /* @16 */
|
||||||
|
IN HANDLE PortHandle,
|
||||||
|
IN PLPC_REPLY LpcReply, /* guess */
|
||||||
|
OUT PLPC_MESSAGE LpcMessage, /* guess */
|
||||||
|
OUT PULONG MessageLength /* guess */
|
||||||
|
);
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
NtReplyWaitReplyPort ( /* @8 */
|
||||||
|
IN HANDLE PortHandle,
|
||||||
|
IN OUT PLPC_REPLY LpcReply /* guess */
|
||||||
|
);
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
NtRequestPort ( /* @8 */
|
||||||
|
IN HANDLE PortHandle,
|
||||||
|
IN PLPC_MESSAGE LpcMessage /* guess */
|
||||||
|
);
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
NtRequestWaitReplyPort ( /* @12 */
|
||||||
|
IN HANDLE PortHandle,
|
||||||
|
IN OUT PLPC_REPLY LpcReply, /* guess */
|
||||||
|
IN TIME * TimeToWait /* guess */
|
||||||
|
);
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
NtReadRequestData ( /* @24 */
|
||||||
|
DWORD a0,
|
||||||
|
DWORD a1,
|
||||||
|
DWORD a2,
|
||||||
|
DWORD a3,
|
||||||
|
DWORD a4,
|
||||||
|
DWORD a5
|
||||||
|
);
|
||||||
|
NTSTATUS
|
||||||
|
STDCALL
|
||||||
|
NtWriteRequestData ( /* @24 */
|
||||||
|
DWORD a0,
|
||||||
|
DWORD a1,
|
||||||
|
DWORD a2,
|
||||||
|
DWORD a3,
|
||||||
|
DWORD a4,
|
||||||
|
DWORD a5
|
||||||
|
);
|
||||||
|
#endif /* ndef PROTO_LPC */
|
||||||
|
|
||||||
|
NTSTATUS STDCALL NtGetPlugPlayEvent(VOID);
|
||||||
|
|
||||||
|
NTSTATUS STDCALL NtLoadKey2(VOID);
|
||||||
|
|
||||||
|
|
||||||
|
NTSTATUS STDCALL NtPlugPlayControl(VOID);
|
||||||
|
|
||||||
|
NTSTATUS STDCALL NtQueryDefaultLocale(VOID);
|
||||||
|
|
||||||
|
|
||||||
|
NTSTATUS STDCALL NtQueryOleDirectoryFile(VOID);
|
||||||
|
|
||||||
|
NTSTATUS STDCALL NtRaiseHardError(VOID);
|
||||||
|
|
||||||
NTSTATUS STDCALL NtSetDefaultLocale(VOID);
|
NTSTATUS STDCALL NtSetDefaultLocale(VOID);
|
||||||
|
|
||||||
|
@ -5179,7 +5293,6 @@ NTSTATUS STDCALL NtSetSystemPowerState(VOID);
|
||||||
NTSTATUS STDCALL NtSystemDebugControl(VOID);
|
NTSTATUS STDCALL NtSystemDebugControl(VOID);
|
||||||
NTSTATUS STDCALL NtVdmControl(VOID);
|
NTSTATUS STDCALL NtVdmControl(VOID);
|
||||||
|
|
||||||
NTSTATUS STDCALL NtWriteRequestData(VOID);
|
|
||||||
NTSTATUS STDCALL NtW32Call(VOID);
|
NTSTATUS STDCALL NtW32Call(VOID);
|
||||||
NTSTATUS STDCALL NtCreateChannel(VOID);
|
NTSTATUS STDCALL NtCreateChannel(VOID);
|
||||||
NTSTATUS STDCALL NtListenChannel(VOID);
|
NTSTATUS STDCALL NtListenChannel(VOID);
|
||||||
|
@ -5187,6 +5300,5 @@ NTSTATUS STDCALL NtOpenChannel(VOID);
|
||||||
NTSTATUS STDCALL NtReplyWaitSendChannel(VOID);
|
NTSTATUS STDCALL NtReplyWaitSendChannel(VOID);
|
||||||
NTSTATUS STDCALL NtSendWaitReplyChannel(VOID);
|
NTSTATUS STDCALL NtSendWaitReplyChannel(VOID);
|
||||||
NTSTATUS STDCALL NtSetContextChannel(VOID);
|
NTSTATUS STDCALL NtSetContextChannel(VOID);
|
||||||
NTSTATUS STDCALL NtRequestWaitReplyPort(VOID);
|
|
||||||
|
|
||||||
#endif /* __DDK_ZW_H */
|
#endif /* __DDK_ZW_H */
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
#ifndef __INCLUDE_DDK_ZWTYPES_H
|
#ifndef __INCLUDE_DDK_ZWTYPES_H
|
||||||
#define __INCLUDE_DDK_ZWTYPES_H
|
#define __INCLUDE_DDK_ZWTYPES_H
|
||||||
|
|
||||||
|
#ifndef PROTO_LPC
|
||||||
/* Added by David Welch at 09/04/99 */
|
/* Added by David Welch at 09/04/99 */
|
||||||
typedef struct _PORT_MSG_DATA
|
typedef struct _PORT_MSG_DATA
|
||||||
{
|
{
|
||||||
|
@ -9,6 +10,35 @@ typedef struct _PORT_MSG_DATA
|
||||||
HANDLE ReplyPort;
|
HANDLE ReplyPort;
|
||||||
} PORT_MSG_DATA, *PPORT_MSG_DATA;
|
} PORT_MSG_DATA, *PPORT_MSG_DATA;
|
||||||
|
|
||||||
|
#else
|
||||||
|
/* Added by EA on 199906160051 */
|
||||||
|
typedef
|
||||||
|
enum {
|
||||||
|
LpcMessageTypeUnknown, /* invalid */
|
||||||
|
LpcMessageTypeBase, /* <256 bytes */
|
||||||
|
LpcMessageTypeLarge, /* >255 bytes */
|
||||||
|
LpcMessageTypeFast, /* 3.51 GDI */
|
||||||
|
LpcMessageTypeMaximum
|
||||||
|
|
||||||
|
} LPC_MESSAGE_TYPE;
|
||||||
|
|
||||||
|
typedef
|
||||||
|
struct _LPC_REPLY
|
||||||
|
{
|
||||||
|
DWORD ReplyValue;
|
||||||
|
|
||||||
|
} LPC_REPLY, * PLPC_REPLY;
|
||||||
|
|
||||||
|
typedef
|
||||||
|
struct _LPC_MESSAGE
|
||||||
|
{
|
||||||
|
LPC_MESSAGE_TYPE Type;
|
||||||
|
ULONG Length;
|
||||||
|
PVOID Buffer; /* Page aligned! */
|
||||||
|
DWORD Flags; /* To be defined */
|
||||||
|
|
||||||
|
} LPC_MESSAGE, * PLPC_MESSAGE;
|
||||||
|
#endif /* ndef PROTO_LPC */
|
||||||
|
|
||||||
#define NtCurrentProcess() ( (HANDLE) 0xFFFFFFFF )
|
#define NtCurrentProcess() ( (HANDLE) 0xFFFFFFFF )
|
||||||
#define NtCurrentThread() ( (HANDLE) 0xFFFFFFFE )
|
#define NtCurrentThread() ( (HANDLE) 0xFFFFFFFE )
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue