/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
-* FILE: drivers/fs/np/mount.c
+* FILE: drivers/filesystems/npfs/npfs.c
* PURPOSE: Named pipe filesystem
* PROGRAMMER: David Welch <welch@cwcom.net>
*/
PNPFS_FCB Fcb;
NTSTATUS Status;
+ UNREFERENCED_PARAMETER(RegistryPath);
+
DPRINT("Named Pipe FSD 0.0.2\n");
ASSERT (sizeof(NPFS_CONTEXT) <= FIELD_OFFSET(IRP, Tail.Overlay.DriverContext));
/* Create the device FCB */
Fcb = ExAllocatePoolWithTag(NonPagedPool, sizeof(NPFS_FCB), TAG_NPFS_FCB);
+ if (!Fcb)
+ {
+ DPRINT1("Out of memory for device FCB!\n");
+ IoDeleteDevice(DeviceObject);
+ return STATUS_INSUFFICIENT_RESOURCES;
+ }
Fcb->Type = FCB_DEVICE;
Fcb->Vcb = Vcb;
+ Fcb->RefCount = 1;
Vcb->DeviceFcb = Fcb;
/* Create the root directory FCB */
Fcb = ExAllocatePoolWithTag(NonPagedPool, sizeof(NPFS_FCB), TAG_NPFS_FCB);
+ if (!Fcb)
+ {
+ DPRINT1("Out of memory for root FCB!\n");
+ IoDeleteDevice(DeviceObject);
+ ExFreePoolWithTag(Vcb->DeviceFcb, TAG_NPFS_FCB);
+ return STATUS_INSUFFICIENT_RESOURCES;
+ }
Fcb->Type = FCB_DIRECTORY;
Fcb->Vcb = Vcb;
+ Fcb->RefCount = 1;
Vcb->RootFcb = Fcb;
return STATUS_SUCCESS;