Don't access the Irp->User* fields in NpfsSignalAndRemoveListeningServerInstance. The I/O manager will safely do that for us.
Modified: trunk/reactos/drivers/fs/np/create.c

Modified: trunk/reactos/drivers/fs/np/create.c
--- trunk/reactos/drivers/fs/np/create.c	2005-03-15 21:46:14 UTC (rev 14107)
+++ trunk/reactos/drivers/fs/np/create.c	2005-03-15 22:06:41 UTC (rev 14108)
@@ -87,9 +87,8 @@
 	{
 	  DPRINT("Server found! Fcb %p\n", Waiter->Fcb);
 
-	  KeSetEvent(Waiter->Irp->UserEvent, 0, FALSE);
-	  Waiter->Irp->UserIosb->Status = FILE_PIPE_CONNECTED_STATE;
-	  Waiter->Irp->UserIosb->Information = 0;
+	  Waiter->Irp->IoStatus.Status = FILE_PIPE_CONNECTED_STATE;
+	  Waiter->Irp->IoStatus.Information = 0;
 	  IoCompleteRequest(Waiter->Irp, IO_NO_INCREMENT);
 
 	  RemoveEntryList(&Waiter->Entry);