#include "lpcp.h"
Go to the source code of this file.
Functions | |
NTSTATUS | LpcpInitializePortQueue (IN PLPCP_PORT_OBJECT Port) |
VOID | LpcpDestroyPortQueue (IN PLPCP_PORT_OBJECT Port, IN BOOLEAN CleanupAndDestroy) |
NTSTATUS | LpcpInitializePortZone (IN ULONG MaxEntrySize, IN ULONG SegmentSize, IN ULONG MaxPoolUsage) |
NTSTATUS | LpcpExtendPortZone (VOID) |
PLPCP_MESSAGE FASTCALL | LpcpAllocateFromPortZone (ULONG Size) |
VOID FASTCALL | LpcpFreeToPortZone (IN PLPCP_MESSAGE Msg, IN BOOLEAN MutexOwned) |
VOID | LpcpSaveDataInfoMessage (IN PLPCP_PORT_OBJECT Port, PLPCP_MESSAGE Msg) |
VOID | LpcpFreeDataInfoMessage (IN PLPCP_PORT_OBJECT Port, IN ULONG MessageId, IN ULONG CallbackId) |
PLPCP_MESSAGE | LpcpFindDataInfoMessage (IN PLPCP_PORT_OBJECT Port, IN ULONG MessageId, IN ULONG CallbackId) |
|
Definition at line 558 of file lpcqueue.c. References _LPCP_MESSAGE::Entry, ExAllocateFromZone, LpcpExtendPortZone(), LpcpTrace, LpcpZone, NT_SUCCESS, NTSTATUS(), NULL, PAGED_CODE, _LPCP_MESSAGE::RepliedToThread, Status, _LPCP_PORT_ZONE::Zone, and _LPCP_MESSAGE::ZoneIndex. Referenced by LpcRequestPort(), LpcRequestWaitReplyPort(), NtReplyPort(), NtReplyWaitReceivePort(), NtReplyWaitReceivePortEx(), NtReplyWaitReplyPort(), NtRequestPort(), NtRequestWaitReplyPort(), and NtSecureConnectPort().
|
|
Definition at line 104 of file lpcqueue.c. References _LPCP_MESSAGE::Entry, ExFreePool(), FALSE, KeReadStateSemaphore(), KeReleaseSemaphore(), L, _ETHREAD::LpcExitThreadCalled, LpcpAcquireLpcpLock, LpcpFreeToPortZone(), LpcpReleaseLpcpLock, _ETHREAD::LpcReplyChain, _ETHREAD::LpcReplyMessage, _ETHREAD::LpcReplyMessageId, _ETHREAD::LpcReplySemaphore, NULL, ObDereferenceObject, PAGED_CODE, PORT_NAME_DELETED, PORT_TYPE, _LPCP_MESSAGE::Request, _LPCP_CONNECTION_MESSAGE::SectionToMap, SERVER_CONNECTION_PORT, and TRUE. Referenced by LpcpClosePort(), and LpcpDeletePort().
|
|
Definition at line 397 of file lpcqueue.c. References _ZONE_HEADER::BlockSize, ExAllocatePoolWithTag, Executive, ExExtendZone(), ExFreePool(), FALSE, _LPCP_PORT_ZONE::FreeEvent, _LPCP_PORT_ZONE::GrowSize, KernelMode, KeSetEvent(), KeWaitForSingleObject(), LPC_RELEASE_WAIT_INCREMENT, LpcpAcquireLpcpLock, LpcpPrint, LpcpReleaseLpcpLock, LpcpTrace, LpcpZone, _LPCP_PORT_ZONE::MaxPoolUsage, NT_SUCCESS, NTSTATUS(), NULL, PAGE_SIZE, PAGED_CODE, PagedPool, Status, _ZONE_HEADER::TotalSegmentSize, TRUE, USHORT, _LPCP_PORT_ZONE::Zone, and _LPCP_MESSAGE::ZoneIndex. Referenced by LpcpAllocateFromPortZone().
|
|
Definition at line 980 of file lpcqueue.c. References LpcpTrace, NULL, PAGED_CODE, PORT_TYPE, PsGetCurrentProcess, _LPCP_MESSAGE::Request, and UNCONNECTED_COMMUNICATION_PORT. Referenced by LpcpCopyRequestData().
|
|
Definition at line 879 of file lpcqueue.c. References _LPCP_MESSAGE::Entry, LpcpFreeToPortZone(), LpcpTrace, PAGED_CODE, PORT_TYPE, PsGetCurrentProcess, _LPCP_MESSAGE::Request, TRUE, and UNCONNECTED_COMMUNICATION_PORT. Referenced by NtReplyPort(), NtReplyWaitReceivePort(), NtReplyWaitReceivePortEx(), and NtReplyWaitReplyPort().
|
|
Definition at line 642 of file lpcqueue.c. References _LPCP_CONNECTION_MESSAGE::ClientPort, ExFreeToZone, FALSE, _LPCP_PORT_ZONE::FreeEvent, KeSetEvent(), LPC_RELEASE_WAIT_INCREMENT, LpcpAcquireLpcpLock, LpcpPrint, LpcpReleaseLpcpLock, LpcpTrace, LpcpZone, NULL, ObDereferenceObject, PAGED_CODE, and _LPCP_PORT_ZONE::Zone. Referenced by LpcExitThread(), LpcpDeletePort(), LpcpDestroyPortQueue(), LpcpFreeDataInfoMessage(), LpcRequestPort(), LpcRequestWaitReplyPort(), NtReplyPort(), NtReplyWaitReceivePort(), NtReplyWaitReceivePortEx(), NtReplyWaitReplyPort(), NtRequestPort(), NtRequestWaitReplyPort(), and NtSecureConnectPort().
|
|
Definition at line 37 of file lpcqueue.c. References _LPCP_NONPAGED_PORT_QUEUE::BackPointer, ExAllocatePoolWithTag, KeInitializeSemaphore(), _LPCP_PORT_OBJECT::MsgQueue, NonPagedPool, NULL, PAGED_CODE, _LPCP_PORT_QUEUE::Semaphore, and _LPCP_NONPAGED_PORT_QUEUE::Semaphore. Referenced by LpcpCreatePort(), and NtSecureConnectPort().
|
|
Definition at line 287 of file lpcqueue.c. References _ZONE_HEADER::BlockSize, ExAllocatePoolWithTag, ExFreePool(), ExInitializeZone(), FALSE, _LPCP_PORT_ZONE::FreeEvent, _LPCP_PORT_ZONE::GrowSize, KeInitializeEvent, LpcpZone, _LPCP_PORT_ZONE::MaxPoolUsage, NT_SUCCESS, NTSTATUS(), NULL, PAGE_SIZE, PAGED_CODE, PagedPool, _LPCP_MESSAGE::Request, _LPCP_MESSAGE::Reserved0, Status, USHORT, _LPCP_PORT_ZONE::Zone, and _LPCP_MESSAGE::ZoneIndex. Referenced by LpcInitSystem().
|
|
Definition at line 809 of file lpcqueue.c. References _LPCP_MESSAGE::Entry, LpcpAcquireLpcpLock, LpcpReleaseLpcpLock, LpcpTrace, PAGED_CODE, PORT_TYPE, PsGetCurrentProcess, _LPCP_MESSAGE::Request, and UNCONNECTED_COMMUNICATION_PORT. Referenced by NtReplyWaitReceivePort(), NtReplyWaitReceivePortEx(), and NtRequestWaitReplyPort().
|