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 ???