mirror of
https://github.com/reactos/reactos.git
synced 2024-10-15 13:45:58 +00:00
some ideas about LPC
svn path=/trunk/; revision=555
This commit is contained in:
parent
11d31698d5
commit
6409ce374c
|
@ -5121,42 +5121,26 @@ ZwYieldExecution(
|
|||
|
||||
|
||||
/*
|
||||
* --- Local Procedure Call Facility
|
||||
* These prototypes are unknown as yet
|
||||
* (stack sizes by Peter-Michael Hager)
|
||||
*/
|
||||
#ifndef PROTO_LPC
|
||||
NTSTATUS STDCALL NtAcceptConnectPort(VOID);
|
||||
|
||||
|
||||
NTSTATUS STDCALL NtCompleteConnectPort(VOID);
|
||||
//NTSTATUS STDCALL NtConnectPort(VOID);
|
||||
NTSTATUS STDCALL NtConnectPort(PHANDLE Handle,
|
||||
POBJECT_ATTRIBUTES ObjectAttributes);
|
||||
|
||||
//NTSTATUS STDCALL NtCreatePort(VOID);
|
||||
NTSTATUS STDCALL NtCreatePort(PHANDLE PortHandle,
|
||||
ACCESS_MASK DesiredAccess,
|
||||
POBJECT_ATTRIBUTES ObjectAttributes);
|
||||
|
||||
NTSTATUS STDCALL NtGetPlugPlayEvent(VOID);
|
||||
NTSTATUS STDCALL NtImpersonateClientOfPort(VOID);
|
||||
|
||||
//NTSTATUS STDCALL NtListenPort(VOID);
|
||||
NTSTATUS STDCALL NtListenPort(HANDLE PortHandle,
|
||||
PLARGE_INTEGER Timeout,
|
||||
PPORT_MSG_DATA Msg);
|
||||
|
||||
NTSTATUS STDCALL NtLoadKey2(VOID);
|
||||
|
||||
|
||||
NTSTATUS STDCALL NtPlugPlayControl(VOID);
|
||||
|
||||
NTSTATUS STDCALL NtQueryDefaultLocale(VOID);
|
||||
|
||||
NTSTATUS STDCALL NtQueryInformationPort(VOID);
|
||||
|
||||
NTSTATUS STDCALL NtQueryOleDirectoryFile(VOID);
|
||||
|
||||
NTSTATUS STDCALL NtRaiseHardError(VOID);
|
||||
NTSTATUS STDCALL NtReadRequestData(VOID);
|
||||
NTSTATUS STDCALL NtReplyPort(VOID);
|
||||
NTSTATUS STDCALL NtReplyWaitReceivePort(VOID);
|
||||
NTSTATUS STDCALL NtReplyWaitReplyPort(VOID);
|
||||
|
@ -5166,6 +5150,136 @@ NTSTATUS STDCALL NtRequestPort(HANDLE PortHandle,
|
|||
PVOID Data,
|
||||
ULONG Options,
|
||||
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);
|
||||
|
||||
|
@ -5179,7 +5293,6 @@ NTSTATUS STDCALL NtSetSystemPowerState(VOID);
|
|||
NTSTATUS STDCALL NtSystemDebugControl(VOID);
|
||||
NTSTATUS STDCALL NtVdmControl(VOID);
|
||||
|
||||
NTSTATUS STDCALL NtWriteRequestData(VOID);
|
||||
NTSTATUS STDCALL NtW32Call(VOID);
|
||||
NTSTATUS STDCALL NtCreateChannel(VOID);
|
||||
NTSTATUS STDCALL NtListenChannel(VOID);
|
||||
|
@ -5187,6 +5300,5 @@ NTSTATUS STDCALL NtOpenChannel(VOID);
|
|||
NTSTATUS STDCALL NtReplyWaitSendChannel(VOID);
|
||||
NTSTATUS STDCALL NtSendWaitReplyChannel(VOID);
|
||||
NTSTATUS STDCALL NtSetContextChannel(VOID);
|
||||
NTSTATUS STDCALL NtRequestWaitReplyPort(VOID);
|
||||
|
||||
#endif /* __DDK_ZW_H */
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
#ifndef __INCLUDE_DDK_ZWTYPES_H
|
||||
#define __INCLUDE_DDK_ZWTYPES_H
|
||||
|
||||
#ifndef PROTO_LPC
|
||||
/* Added by David Welch at 09/04/99 */
|
||||
typedef struct _PORT_MSG_DATA
|
||||
{
|
||||
|
@ -9,6 +10,35 @@ typedef struct _PORT_MSG_DATA
|
|||
HANDLE ReplyPort;
|
||||
} 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 NtCurrentThread() ( (HANDLE) 0xFFFFFFFE )
|
||||
|
|
Loading…
Reference in a new issue