OUT PPORT_MESSAGE ConnectMessage)
{
NTSTATUS Status;
+
PAGED_CODE();
- LPCTRACE(LPC_LISTEN_DEBUG, "Handle: %lx\n", PortHandle);
+ LPCTRACE(LPC_LISTEN_DEBUG, "Handle: %p\n", PortHandle);
- /* Wait forever for a connection request. */
+ /* Wait forever for a connection request */
for (;;)
{
/* Do the wait */
NULL,
ConnectMessage);
- /* Accept only LPC_CONNECTION_REQUEST requests. */
- if ((Status != STATUS_SUCCESS) ||
- (LpcpGetMessageType(ConnectMessage) == LPC_CONNECTION_REQUEST))
+ _SEH2_TRY
+ {
+ /* Accept only LPC_CONNECTION_REQUEST requests */
+ if ((Status != STATUS_SUCCESS) ||
+ (LpcpGetMessageType(ConnectMessage) == LPC_CONNECTION_REQUEST))
+ {
+ /* Break out */
+ _SEH2_YIELD(break);
+ }
+ }
+ _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER)
{
- /* Break out */
- break;
+ Status = _SEH2_GetExceptionCode();
+ _SEH2_YIELD(break);
}
+ _SEH2_END;
}
/* Return status */
return Status;
}
-
/* EOF */