mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
1021 B
53 lines
1021 B
Stateless URI-named IPC mechanism
|
|
|
|
|
|
HANDLE
|
|
IpcRegister(
|
|
IN HANDLE Parent OPTIONAL,
|
|
IN PWSTR pUrl,
|
|
IN ULONG Flags
|
|
);
|
|
|
|
typedef struct _IPC_MESSAGE
|
|
{
|
|
ULONG UriLength;
|
|
ULONG BufferLength;
|
|
// WCHAR Uri[UriLength];
|
|
// UCHAR Alignment[Varies];
|
|
// UCHAR Buffer[BufferLength];
|
|
|
|
} IPC_MESSAGE, *PIPC_MESSAGE;
|
|
|
|
#define IPC_MESSAGE_TO_URI(pMessage) \
|
|
(PWCHAR)((pMessage) + 1)
|
|
|
|
#define IPC_MESSAGE_TO_BUFFER(pMessage) \
|
|
ALIGN_UP_POINTER((((PUCHAR)(pMessage)) + (pMessage)->UriLength), PVOID)
|
|
|
|
|
|
ULONG
|
|
IpcSendMessage(
|
|
IN HANDLE IpcHandle,
|
|
IN ULONG Flags,
|
|
IN PIPC_MESSAGE pMessage,
|
|
IN ULONG MessageLength
|
|
);
|
|
|
|
ULONG
|
|
IpcReceiveMessage(
|
|
IN HANDLE IpcHandle,
|
|
IN ULONG Flags,
|
|
OUT PIPC_MESSAGE pMessage,
|
|
IN ULONG MessageLength,
|
|
OUT PULONG pBytesReceived OPTIONAL,
|
|
IN LPOVERLAPPED pOverlapped OPTIONAL
|
|
);
|
|
|
|
|
|
??? Separate "scheme handlers" ???
|
|
|
|
|
|
??? App Pools & Config Groups ???
|
|
|
|
|
|
|