static LONG QueueCount = 0;
+NTSTATUS VfatLockControl(
+ IN PVFAT_IRP_CONTEXT IrpContext
+ )
+{
+ PVFATFCB Fcb;
+ NTSTATUS Status;
+
+ DPRINT("VfatLockControl(IrpContext %x)\n", IrpContext);
+
+ assert(IrpContext);
+
+ Fcb = (PVFATFCB)IrpContext->FileObject->FsContext;
+
+ if (IrpContext->DeviceObject == VfatGlobalData->DeviceObject)
+ {
+ Status = STATUS_INVALID_DEVICE_REQUEST;
+ goto Fail;
+ }
+
+ if (Fcb->entry.Attrib & FILE_ATTRIBUTE_DIRECTORY)
+ {
+ Status = STATUS_INVALID_PARAMETER;
+ goto Fail;
+ }
+
+ Status = FsRtlProcessFileLock(&Fcb->FileLock,
+ IrpContext->Irp,
+ NULL
+ );
+
+ VfatFreeIrpContext(IrpContext);
+ return Status;
+
+Fail:;
+ IrpContext->Irp->IoStatus.Status = Status;
+ IofCompleteRequest(IrpContext->Irp, (CCHAR)(NT_SUCCESS(Status) ? IO_DISK_INCREMENT : IO_NO_INCREMENT));
+ VfatFreeIrpContext(IrpContext);
+ return Status;
+}
+
NTSTATUS VfatDispatchRequest (
IN PVFAT_IRP_CONTEXT IrpContext)
{
}
}
-NTSTATUS VfatLockControl(
- IN PVFAT_IRP_CONTEXT IrpContext
- )
-{
- PVFATFCB Fcb;
- NTSTATUS Status;
-
- DPRINT("VfatLockControl(IrpContext %x)\n", IrpContext);
-
- assert(IrpContext);
-
- Fcb = (PVFATFCB)IrpContext->FileObject->FsContext;
-
- if (IrpContext->DeviceObject == VfatGlobalData->DeviceObject)
- {
- Status = STATUS_INVALID_DEVICE_REQUEST;
- goto Fail;
- }
-
- if (Fcb->entry.Attrib & FILE_ATTRIBUTE_DIRECTORY)
- {
- Status = STATUS_INVALID_PARAMETER;
- goto Fail;
- }
-
- Status = FsRtlProcessFileLock(&Fcb->FileLock,
- IrpContext->Irp,
- NULL
- );
-
- VfatFreeIrpContext(IrpContext);
- return Status;
-
-Fail:;
- IrpContext->Irp->IoStatus.Status = Status;
- IofCompleteRequest(IrpContext->Irp, NT_SUCCESS(Status) ? IO_DISK_INCREMENT : IO_NO_INCREMENT);
- VfatFreeIrpContext(IrpContext);
- return Status;
-}
-
NTSTATUS STDCALL VfatBuildRequest (
IN PDEVICE_OBJECT DeviceObject,
IN PIRP Irp)
PVFAT_IRP_CONTEXT VfatAllocateIrpContext(PDEVICE_OBJECT DeviceObject, PIRP Irp)
{
PVFAT_IRP_CONTEXT IrpContext;
- PIO_STACK_LOCATION Stack;
+ /*PIO_STACK_LOCATION Stack;*/
UCHAR MajorFunction;
DPRINT ("VfatAllocateIrpContext(DeviceObject %x, Irp %x)\n", DeviceObject, Irp);