Something went wrong. Try again.
Reactos
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409/*++ NDK Version: 0098
Copyright (c) Alex Ionescu. All rights reserved.
Header Name:
lpcfuncs.h
Abstract:
Function definitions for the Local Procedure Call.
Author:
Alex Ionescu (alexi@tinykrnl.org) - Updated - 27-Feb-2006
--*/
#ifndef _LPCFUNCS_H#define _LPCFUNCS_H
//// Dependencies//#include <umtypes.h>#include <lpctypes.h>
//// LPC Exports//#ifndef NTOS_MODE_USERNTKERNELAPINTSTATUSNTAPILpcRequestWaitReplyPort( _In_ PVOID Port, _In_ PPORT_MESSAGE LpcMessageRequest, _Out_ PPORT_MESSAGE LpcMessageReply);
NTSTATUSNTAPILpcRequestPort( _In_ PVOID Port, _In_ PPORT_MESSAGE LpcMessage);#endif
//// Native calls//NTSYSCALLAPINTSTATUSNTAPINtAcceptConnectPort( _Out_ PHANDLE PortHandle, _In_opt_ PVOID PortContext, _In_ PPORT_MESSAGE ConnectionRequest, _In_ BOOLEAN AcceptConnection, _Inout_opt_ PPORT_VIEW ServerView, _Out_opt_ PREMOTE_PORT_VIEW ClientView);
NTSYSCALLAPINTSTATUSNTAPINtCompleteConnectPort( _In_ HANDLE PortHandle);
NTSYSCALLAPINTSTATUSNTAPINtConnectPort( _Out_ PHANDLE PortHandle, _In_ PUNICODE_STRING PortName, _In_ PSECURITY_QUALITY_OF_SERVICE SecurityQos, _Inout_opt_ PPORT_VIEW ClientView, _Inout_opt_ PREMOTE_PORT_VIEW ServerView, _Out_opt_ PULONG MaxMessageLength, _Inout_opt_ PVOID ConnectionInformation, _Inout_opt_ PULONG ConnectionInformationLength);
NTSYSCALLAPINTSTATUSNTAPINtCreatePort( _Out_ PHANDLE PortHandle, _In_ POBJECT_ATTRIBUTES ObjectAttributes, _In_ ULONG MaxConnectionInfoLength, _In_ ULONG MaxMessageLength, _In_ ULONG MaxPoolUsage);
NTSYSCALLAPINTSTATUSNTAPINtCreateWaitablePort( _Out_ PHANDLE PortHandle, _In_ POBJECT_ATTRIBUTES ObjectAttributes, _In_ ULONG MaxConnectInfoLength, _In_ ULONG MaxDataLength, _In_opt_ ULONG NPMessageQueueSize);
NTSYSCALLAPINTSTATUSNTAPINtImpersonateClientOfPort( _In_ HANDLE PortHandle, _In_ PPORT_MESSAGE ClientMessage);
NTSYSCALLAPINTSTATUSNTAPINtListenPort( _In_ HANDLE PortHandle, _In_ PPORT_MESSAGE ConnectionRequest);
NTSYSCALLAPINTSTATUSNTAPINtQueryInformationPort( _In_ HANDLE PortHandle, _In_ PORT_INFORMATION_CLASS PortInformationClass, _Out_bytecap_(PortInformationLength) PVOID PortInformation, _In_ ULONG PortInformationLength, _Out_ PULONG ReturnLength);
NTSTATUSNTAPINtQueryPortInformationProcess( VOID);
NTSYSCALLAPINTSTATUSNTAPINtReadRequestData( _In_ HANDLE PortHandle, _In_ PPORT_MESSAGE Message, _In_ ULONG Index, _Out_bytecap_(BufferLength) PVOID Buffer, _In_ ULONG BufferLength, _Out_ PULONG ReturnLength);
NTSYSCALLAPINTSTATUSNTAPINtReplyPort( _In_ HANDLE PortHandle, _In_ PPORT_MESSAGE LpcReply);
NTSYSCALLAPINTSTATUSNTAPINtReplyWaitReceivePort( _In_ HANDLE PortHandle, _Out_opt_ PVOID *PortContext, _In_opt_ PPORT_MESSAGE ReplyMessage, _Out_ PPORT_MESSAGE ReceiveMessage);
NTSYSCALLAPINTSTATUSNTAPINtReplyWaitReceivePortEx( _In_ HANDLE PortHandle, _Out_opt_ PVOID *PortContext, _In_opt_ PPORT_MESSAGE ReplyMessage, _Out_ PPORT_MESSAGE ReceiveMessage, _In_opt_ PLARGE_INTEGER Timeout);
NTSYSCALLAPINTSTATUSNTAPINtReplyWaitReplyPort( _In_ HANDLE PortHandle, _Out_ PPORT_MESSAGE ReplyMessage);
NTSYSCALLAPINTSTATUSNTAPINtRequestPort( _In_ HANDLE PortHandle, _In_ PPORT_MESSAGE LpcMessage);
NTSYSCALLAPINTSTATUSNTAPINtRequestWaitReplyPort( _In_ HANDLE PortHandle, _Out_ PPORT_MESSAGE LpcReply, _In_ PPORT_MESSAGE LpcRequest);
NTSYSCALLAPINTSTATUSNTAPINtSecureConnectPort( _Out_ PHANDLE PortHandle, _In_ PUNICODE_STRING PortName, _In_ PSECURITY_QUALITY_OF_SERVICE SecurityQos, _Inout_opt_ PPORT_VIEW ClientView, _In_opt_ PSID ServerSid, _Inout_opt_ PREMOTE_PORT_VIEW ServerView, _Out_opt_ PULONG MaxMessageLength, _Inout_opt_ PVOID ConnectionInformation, _Inout_opt_ PULONG ConnectionInformationLength);
NTSYSCALLAPINTSTATUSNTAPINtWriteRequestData( _In_ HANDLE PortHandle, _In_ PPORT_MESSAGE Message, _In_ ULONG Index, _In_bytecount_(BufferLength) PVOID Buffer, _In_ ULONG BufferLength, _Out_ PULONG ReturnLength);
NTSYSAPINTSTATUSNTAPIZwAcceptConnectPort( _Out_ PHANDLE PortHandle, _In_opt_ PVOID PortContext, _In_ PPORT_MESSAGE ConnectionRequest, _In_ BOOLEAN AcceptConnection, _In_opt_ PPORT_VIEW ServerView, _In_opt_ PREMOTE_PORT_VIEW ClientView);
NTSYSAPINTSTATUSNTAPIZwCompleteConnectPort( _In_ HANDLE PortHandle);
NTSYSAPINTSTATUSNTAPIZwConnectPort( _Out_ PHANDLE PortHandle, _In_ PUNICODE_STRING PortName, _In_ PSECURITY_QUALITY_OF_SERVICE SecurityQos, _In_opt_ PPORT_VIEW ClientView, _In_opt_ PREMOTE_PORT_VIEW ServerView, _In_opt_ PULONG MaxMessageLength, _In_opt_ PVOID ConnectionInformation, _In_opt_ PULONG ConnectionInformationLength);
NTSYSAPINTSTATUSNTAPIZwCreatePort( _Out_ PHANDLE PortHandle, _In_ POBJECT_ATTRIBUTES ObjectAttributes, _In_ ULONG MaxConnectionInfoLength, _In_ ULONG MaxMessageLength, _In_ ULONG MaxPoolUsage);
NTSYSAPINTSTATUSNTAPIZwCreateWaitablePort( _Out_ PHANDLE PortHandle, _In_ POBJECT_ATTRIBUTES ObjectAttributes, _In_ ULONG MaxConnectInfoLength, _In_ ULONG MaxDataLength, _In_opt_ ULONG NPMessageQueueSize);
NTSYSAPINTSTATUSNTAPIZwImpersonateClientOfPort( _In_ HANDLE PortHandle, _In_ PPORT_MESSAGE ClientMessage);
NTSYSAPINTSTATUSNTAPIZwListenPort( _In_ HANDLE PortHandle, _In_ PPORT_MESSAGE ConnectionRequest);
NTSYSAPINTSTATUSNTAPIZwQueryInformationPort( _In_ HANDLE PortHandle, _In_ PORT_INFORMATION_CLASS PortInformationClass, _Out_bytecap_(PortInformationLength) PVOID PortInformation, _In_ ULONG PortInformationLength, _Out_ PULONG ReturnLength);
NTSYSAPINTSTATUSNTAPIZwReadRequestData( _In_ HANDLE PortHandle, _In_ PPORT_MESSAGE Message, _In_ ULONG Index, _Out_bytecap_(BufferLength) PVOID Buffer, _In_ ULONG BufferLength, _Out_ PULONG ReturnLength);
NTSYSAPINTSTATUSNTAPIZwReplyPort( _In_ HANDLE PortHandle, _In_ PPORT_MESSAGE LpcReply);
NTSYSAPINTSTATUSNTAPIZwReplyWaitReceivePort( _In_ HANDLE PortHandle, _Out_opt_ PVOID *PortContext, _In_opt_ PPORT_MESSAGE ReplyMessage, _Out_ PPORT_MESSAGE ReceiveMessage);
NTSYSAPINTSTATUSNTAPIZwReplyWaitReceivePortEx( _In_ HANDLE PortHandle, _Out_opt_ PVOID *PortContext, _In_opt_ PPORT_MESSAGE ReplyMessage, _Out_ PPORT_MESSAGE ReceiveMessage, _In_opt_ PLARGE_INTEGER Timeout);
NTSYSAPINTSTATUSNTAPIZwReplyWaitReplyPort( _In_ HANDLE PortHandle, _Out_ PPORT_MESSAGE ReplyMessage);
NTSYSAPINTSTATUSNTAPIZwRequestPort( _In_ HANDLE PortHandle, _In_ PPORT_MESSAGE LpcMessage);
NTSYSAPINTSTATUSNTAPIZwRequestWaitReplyPort( _In_ HANDLE PortHandle, _Out_ PPORT_MESSAGE LpcReply, _In_ PPORT_MESSAGE LpcRequest);
NTSYSAPINTSTATUSNTAPIZwSecureConnectPort( _Out_ PHANDLE PortHandle, _In_ PUNICODE_STRING PortName, _In_ PSECURITY_QUALITY_OF_SERVICE SecurityQos, _Inout_opt_ PPORT_VIEW ClientView, _In_opt_ PSID Sid, _Inout_opt_ PREMOTE_PORT_VIEW ServerView, _Out_opt_ PULONG MaxMessageLength, _Inout_opt_ PVOID ConnectionInformation, _Inout_opt_ PULONG ConnectionInformationLength);
NTSYSAPINTSTATUSNTAPIZwWriteRequestData( _In_ HANDLE PortHandle, _In_ PPORT_MESSAGE Message, _In_ ULONG Index, _In_bytecount_(BufferLength) PVOID Buffer, _In_ ULONG BufferLength, _Out_ PULONG ReturnLength);
#endif