Home | Info | Community | Development | myReactOS | Contact Us
Definition at line 126 of file rawfs.c.
Referenced by RawDispatch().
{ NTSTATUS Status; BOOLEAN Deleted = FALSE; PAGED_CODE(); /* Make sure we can clean up */ Status = KeWaitForSingleObject(&Vcb->Mutex, Executive, KernelMode, FALSE, NULL); ASSERT(NT_SUCCESS(Status)); /* Decrease the open count and check if this is a dismount */ Vcb->OpenCount--; if (!Vcb->OpenCount) Deleted = RawCheckForDismount(Vcb, FALSE); /* Check if we should delete the device */ KeReleaseMutex(&Vcb->Mutex, FALSE); if (Deleted) { /* Delete it */ IoDeleteDevice((PDEVICE_OBJECT)CONTAINING_RECORD(Vcb, VOLUME_DEVICE_OBJECT, Vcb)); } /* Complete the request */ Irp->IoStatus.Status = STATUS_SUCCESS; IoCompleteRequest(Irp, IO_DISK_INCREMENT); return STATUS_SUCCESS; }