fix uninitialized variable

svn path=/trunk/; revision=18981
This commit is contained in:
Royce Mitchell III 2005-11-04 00:10:39 +00:00
parent 7783f0f747
commit 13415bb36a

View file

@ -37,22 +37,22 @@ vfat8Dot3ToString (PFAT_DIR_ENTRY pEntry, PUNICODE_STRING NameU)
OEM_STRING StringA; OEM_STRING StringA;
USHORT Length; USHORT Length;
CHAR cString[12]; CHAR cString[12];
RtlCopyMemory(cString, pEntry->ShortName, 11); RtlCopyMemory(cString, pEntry->ShortName, 11);
cString[11] = 0; cString[11] = 0;
if (cString[0] == 0x05) if (cString[0] == 0x05)
{ {
cString[0] = 0xe5; cString[0] = 0xe5;
} }
StringA.Buffer = cString; StringA.Buffer = cString;
for (StringA.Length = 0; for (StringA.Length = 0;
StringA.Length < 8 && StringA.Buffer[StringA.Length] != ' '; StringA.Length < 8 && StringA.Buffer[StringA.Length] != ' ';
StringA.Length++); StringA.Length++);
StringA.MaximumLength = StringA.Length; StringA.MaximumLength = StringA.Length;
RtlOemStringToUnicodeString(NameU, &StringA, FALSE); RtlOemStringToUnicodeString(NameU, &StringA, FALSE);
if (pEntry->lCase & VFAT_CASE_LOWER_BASE) if (pEntry->lCase & VFAT_CASE_LOWER_BASE)
{ {
RtlDowncaseUnicodeString(NameU, NameU, FALSE); RtlDowncaseUnicodeString(NameU, NameU, FALSE);
@ -69,7 +69,7 @@ vfat8Dot3ToString (PFAT_DIR_ENTRY pEntry, PUNICODE_STRING NameU)
} }
NameU->Length = 0; NameU->Length = 0;
NameU->MaximumLength -= Length; NameU->MaximumLength -= Length;
StringA.Buffer = &cString[8]; StringA.Buffer = &cString[8];
for (StringA.Length = 0; for (StringA.Length = 0;
StringA.Length < 3 && StringA.Buffer[StringA.Length] != ' '; StringA.Length < 3 && StringA.Buffer[StringA.Length] != ' ';
@ -103,13 +103,13 @@ ReadVolumeLabel (PDEVICE_EXTENSION DeviceExt, PVPB Vpb)
ULONG SizeDirEntry; ULONG SizeDirEntry;
ULONG EntriesPerPage; ULONG EntriesPerPage;
OEM_STRING StringO; OEM_STRING StringO;
NameU.Buffer = Vpb->VolumeLabel; NameU.Buffer = Vpb->VolumeLabel;
NameU.Length = 0; NameU.Length = 0;
NameU.MaximumLength = sizeof(Vpb->VolumeLabel); NameU.MaximumLength = sizeof(Vpb->VolumeLabel);
*(Vpb->VolumeLabel) = 0; *(Vpb->VolumeLabel) = 0;
Vpb->VolumeLabelLength = 0; Vpb->VolumeLabelLength = 0;
if (DeviceExt->Flags & VCB_IS_FATX) if (DeviceExt->Flags & VCB_IS_FATX)
{ {
SizeDirEntry = sizeof(FATX_DIR_ENTRY); SizeDirEntry = sizeof(FATX_DIR_ENTRY);
@ -120,11 +120,11 @@ ReadVolumeLabel (PDEVICE_EXTENSION DeviceExt, PVPB Vpb)
SizeDirEntry = sizeof(FAT_DIR_ENTRY); SizeDirEntry = sizeof(FAT_DIR_ENTRY);
EntriesPerPage = FAT_ENTRIES_PER_PAGE; EntriesPerPage = FAT_ENTRIES_PER_PAGE;
} }
ExAcquireResourceExclusiveLite (&DeviceExt->DirResource, TRUE); ExAcquireResourceExclusiveLite (&DeviceExt->DirResource, TRUE);
pFcb = vfatOpenRootFCB (DeviceExt); pFcb = vfatOpenRootFCB (DeviceExt);
ExReleaseResourceLite (&DeviceExt->DirResource); ExReleaseResourceLite (&DeviceExt->DirResource);
FileOffset.QuadPart = 0; FileOffset.QuadPart = 0;
if (CcMapData(pFcb->FileObject, &FileOffset, PAGE_SIZE, TRUE, &Context, (PVOID*)&Entry)) if (CcMapData(pFcb->FileObject, &FileOffset, PAGE_SIZE, TRUE, &Context, (PVOID*)&Entry))
{ {
@ -171,7 +171,7 @@ ReadVolumeLabel (PDEVICE_EXTENSION DeviceExt, PVPB Vpb)
ExAcquireResourceExclusiveLite (&DeviceExt->DirResource, TRUE); ExAcquireResourceExclusiveLite (&DeviceExt->DirResource, TRUE);
vfatReleaseFCB (DeviceExt, pFcb); vfatReleaseFCB (DeviceExt, pFcb);
ExReleaseResourceLite (&DeviceExt->DirResource); ExReleaseResourceLite (&DeviceExt->DirResource);
return STATUS_SUCCESS; return STATUS_SUCCESS;
} }
@ -196,11 +196,11 @@ FindFile (
UNICODE_STRING PathNameU; UNICODE_STRING PathNameU;
UNICODE_STRING FileToFindUpcase; UNICODE_STRING FileToFindUpcase;
BOOLEAN WildCard; BOOLEAN WildCard;
DPRINT ("FindFile(Parent %x, FileToFind '%wZ', DirIndex: %d)\n", DPRINT ("FindFile(Parent %x, FileToFind '%wZ', DirIndex: %d)\n",
Parent, FileToFindU, DirContext->DirIndex); Parent, FileToFindU, DirContext->DirIndex);
DPRINT ("FindFile: Path %wZ)\n",&Parent->PathNameU); DPRINT ("FindFile: Path %wZ)\n",&Parent->PathNameU);
PathNameBufferLength = LONGNAME_MAX_LENGTH * sizeof(WCHAR); PathNameBufferLength = LONGNAME_MAX_LENGTH * sizeof(WCHAR);
PathNameBuffer = ExAllocatePool(NonPagedPool, PathNameBufferLength + sizeof(WCHAR)); PathNameBuffer = ExAllocatePool(NonPagedPool, PathNameBufferLength + sizeof(WCHAR));
if (!PathNameBuffer) if (!PathNameBuffer)
@ -208,16 +208,16 @@ FindFile (
CHECKPOINT1; CHECKPOINT1;
return STATUS_INSUFFICIENT_RESOURCES; return STATUS_INSUFFICIENT_RESOURCES;
} }
PathNameU.Buffer = PathNameBuffer; PathNameU.Buffer = PathNameBuffer;
PathNameU.Length = 0; PathNameU.Length = 0;
PathNameU.MaximumLength = PathNameBufferLength; PathNameU.MaximumLength = PathNameBufferLength;
DirContext->LongNameU.Length = 0; DirContext->LongNameU.Length = 0;
DirContext->ShortNameU.Length = 0; DirContext->ShortNameU.Length = 0;
WildCard = FsRtlDoesNameContainWildCards(FileToFindU); WildCard = FsRtlDoesNameContainWildCards(FileToFindU);
if (WildCard == FALSE) if (WildCard == FALSE)
{ {
/* if there is no '*?' in the search name, than look first for an existing fcb */ /* if there is no '*?' in the search name, than look first for an existing fcb */
@ -258,7 +258,7 @@ FindFile (
return Status; return Status;
} }
} }
/* FsRtlIsNameInExpression need the searched string to be upcase, /* FsRtlIsNameInExpression need the searched string to be upcase,
* even if IgnoreCase is specified */ * even if IgnoreCase is specified */
Status = RtlUpcaseUnicodeString(&FileToFindUpcase, FileToFindU, TRUE); Status = RtlUpcaseUnicodeString(&FileToFindUpcase, FileToFindU, TRUE);
@ -268,7 +268,7 @@ FindFile (
ExFreePool(PathNameBuffer); ExFreePool(PathNameBuffer);
return Status; return Status;
} }
while(TRUE) while(TRUE)
{ {
Status = DeviceExt->GetNextDirEntry(&Context, &Page, Parent, DirContext, First); Status = DeviceExt->GetNextDirEntry(&Context, &Page, Parent, DirContext, First);
@ -292,7 +292,7 @@ FindFile (
Found = FsRtlAreNamesEqual(&DirContext->LongNameU, FileToFindU, TRUE, NULL) || Found = FsRtlAreNamesEqual(&DirContext->LongNameU, FileToFindU, TRUE, NULL) ||
FsRtlAreNamesEqual(&DirContext->ShortNameU, FileToFindU, TRUE, NULL); FsRtlAreNamesEqual(&DirContext->ShortNameU, FileToFindU, TRUE, NULL);
} }
if (Found) if (Found)
{ {
if (WildCard) if (WildCard)
@ -315,7 +315,7 @@ FindFile (
DPRINT("%d\n", DirContext->LongNameU.Length); DPRINT("%d\n", DirContext->LongNameU.Length);
DPRINT("FindFile: new Name %wZ, DirIndex %d\n", DPRINT("FindFile: new Name %wZ, DirIndex %d\n",
&DirContext->LongNameU, DirContext->DirIndex); &DirContext->LongNameU, DirContext->DirIndex);
if (Context) if (Context)
{ {
CcUnpinData(Context); CcUnpinData(Context);
@ -326,12 +326,12 @@ FindFile (
} }
DirContext->DirIndex++; DirContext->DirIndex++;
} }
if (Context) if (Context)
{ {
CcUnpinData(Context); CcUnpinData(Context);
} }
RtlFreeUnicodeString(&FileToFindUpcase); RtlFreeUnicodeString(&FileToFindUpcase);
ExFreePool(PathNameBuffer); ExFreePool(PathNameBuffer);
return Status; return Status;
@ -350,13 +350,13 @@ VfatOpenFile (
NTSTATUS Status; NTSTATUS Status;
UNICODE_STRING PathNameU; UNICODE_STRING PathNameU;
WCHAR Buffer[260]; WCHAR Buffer[260];
DPRINT ("VfatOpenFile(%08lx, %08lx, '%wZ')\n", DeviceExt, FileObject, &FileObject->FileName); DPRINT ("VfatOpenFile(%08lx, %08lx, '%wZ')\n", DeviceExt, FileObject, &FileObject->FileName);
if (FileObject->RelatedFileObject) if (FileObject->RelatedFileObject)
{ {
DPRINT ("'%wZ'\n", &FileObject->RelatedFileObject->FileName); DPRINT ("'%wZ'\n", &FileObject->RelatedFileObject->FileName);
*ParentFcb = FileObject->RelatedFileObject->FsContext; *ParentFcb = FileObject->RelatedFileObject->FsContext;
(*ParentFcb)->RefCount++; (*ParentFcb)->RefCount++;
} }
@ -364,7 +364,7 @@ VfatOpenFile (
{ {
*ParentFcb = NULL; *ParentFcb = NULL;
} }
if (!DeviceExt->FatInfo.FixedMedia) if (!DeviceExt->FatInfo.FixedMedia)
{ {
Status = VfatBlockDeviceIoControl (DeviceExt->StorageDevice, Status = VfatBlockDeviceIoControl (DeviceExt->StorageDevice,
@ -374,17 +374,17 @@ VfatOpenFile (
NULL, NULL,
0, 0,
FALSE); FALSE);
if (Status == STATUS_VERIFY_REQUIRED) if (Status == STATUS_VERIFY_REQUIRED)
{ {
PDEVICE_OBJECT DeviceToVerify; PDEVICE_OBJECT DeviceToVerify;
DPRINT ("Media change detected!\n"); DPRINT ("Media change detected!\n");
DPRINT ("Device %p\n", DeviceExt->StorageDevice); DPRINT ("Device %p\n", DeviceExt->StorageDevice);
DeviceToVerify = IoGetDeviceToVerify (PsGetCurrentThread ()); DeviceToVerify = IoGetDeviceToVerify (PsGetCurrentThread ());
IoSetDeviceToVerify (PsGetCurrentThread (), IoSetDeviceToVerify (PsGetCurrentThread (),
NULL); NULL);
Status = IoVerifyVolume (DeviceExt->StorageDevice, Status = IoVerifyVolume (DeviceExt->StorageDevice,
@ -397,12 +397,12 @@ VfatOpenFile (
return Status; return Status;
} }
} }
if (*ParentFcb) if (*ParentFcb)
{ {
(*ParentFcb)->RefCount++; (*ParentFcb)->RefCount++;
} }
PathNameU.Buffer = Buffer; PathNameU.Buffer = Buffer;
PathNameU.Length = 0; PathNameU.Length = 0;
PathNameU.MaximumLength = sizeof(Buffer); PathNameU.MaximumLength = sizeof(Buffer);
@ -413,10 +413,10 @@ VfatOpenFile (
PathNameU.Length -= sizeof(WCHAR); PathNameU.Length -= sizeof(WCHAR);
} }
PathNameU.Buffer[PathNameU.Length / sizeof(WCHAR)] = 0; PathNameU.Buffer[PathNameU.Length / sizeof(WCHAR)] = 0;
/* try first to find an existing FCB in memory */ /* try first to find an existing FCB in memory */
DPRINT ("Checking for existing FCB in memory\n"); DPRINT ("Checking for existing FCB in memory\n");
Status = vfatGetFCBForFile (DeviceExt, ParentFcb, &Fcb, &PathNameU); Status = vfatGetFCBForFile (DeviceExt, ParentFcb, &Fcb, &PathNameU);
if (!NT_SUCCESS (Status)) if (!NT_SUCCESS (Status))
{ {
@ -449,14 +449,14 @@ VfatCreateFile ( PDEVICE_OBJECT DeviceObject, PIRP Irp )
PDEVICE_EXTENSION DeviceExt; PDEVICE_EXTENSION DeviceExt;
ULONG RequestedDisposition, RequestedOptions; ULONG RequestedDisposition, RequestedOptions;
PVFATCCB pCcb; PVFATCCB pCcb;
PVFATFCB pFcb; PVFATFCB pFcb = NULL;
PVFATFCB ParentFcb; PVFATFCB ParentFcb;
PWCHAR c, last; PWCHAR c, last;
BOOLEAN PagingFileCreate = FALSE; BOOLEAN PagingFileCreate = FALSE;
LARGE_INTEGER AllocationSize; LARGE_INTEGER AllocationSize;
BOOLEAN Dots; BOOLEAN Dots;
UNICODE_STRING FileNameU; UNICODE_STRING FileNameU;
/* Unpack the various parameters. */ /* Unpack the various parameters. */
Stack = IoGetCurrentIrpStackLocation (Irp); Stack = IoGetCurrentIrpStackLocation (Irp);
RequestedDisposition = ((Stack->Parameters.Create.Options >> 24) & 0xff); RequestedDisposition = ((Stack->Parameters.Create.Options >> 24) & 0xff);
@ -465,14 +465,14 @@ VfatCreateFile ( PDEVICE_OBJECT DeviceObject, PIRP Irp )
PagingFileCreate = (Stack->Flags & SL_OPEN_PAGING_FILE) ? TRUE : FALSE; PagingFileCreate = (Stack->Flags & SL_OPEN_PAGING_FILE) ? TRUE : FALSE;
FileObject = Stack->FileObject; FileObject = Stack->FileObject;
DeviceExt = DeviceObject->DeviceExtension; DeviceExt = DeviceObject->DeviceExtension;
/* Check their validity. */ /* Check their validity. */
if (RequestedOptions & FILE_DIRECTORY_FILE && if (RequestedOptions & FILE_DIRECTORY_FILE &&
RequestedDisposition == FILE_SUPERSEDE) RequestedDisposition == FILE_SUPERSEDE)
{ {
return(STATUS_INVALID_PARAMETER); return(STATUS_INVALID_PARAMETER);
} }
/* This a open operation for the volume itself */ /* This a open operation for the volume itself */
if (FileObject->FileName.Length == 0 && if (FileObject->FileName.Length == 0 &&
FileObject->RelatedFileObject == NULL) FileObject->RelatedFileObject == NULL)
@ -498,11 +498,11 @@ VfatCreateFile ( PDEVICE_OBJECT DeviceObject, PIRP Irp )
FileObject->FsContext = pFcb; FileObject->FsContext = pFcb;
FileObject->FsContext2 = pCcb; FileObject->FsContext2 = pCcb;
pFcb->RefCount++; pFcb->RefCount++;
Irp->IoStatus.Information = FILE_OPENED; Irp->IoStatus.Information = FILE_OPENED;
return(STATUS_SUCCESS); return(STATUS_SUCCESS);
} }
/* /*
* Check for illegal characters and illegale dot sequences in the file name * Check for illegal characters and illegale dot sequences in the file name
*/ */
@ -524,16 +524,16 @@ VfatCreateFile ( PDEVICE_OBJECT DeviceObject, PIRP Irp )
{ {
Dots = FALSE; Dots = FALSE;
} }
if (*c != '\\' && vfatIsLongIllegal(*c)) if (*c != '\\' && vfatIsLongIllegal(*c))
{ {
return(STATUS_OBJECT_NAME_INVALID); return(STATUS_OBJECT_NAME_INVALID);
} }
} }
/* Try opening the file. */ /* Try opening the file. */
Status = VfatOpenFile (DeviceExt, FileObject, &ParentFcb); Status = VfatOpenFile (DeviceExt, FileObject, &ParentFcb);
/* /*
* If the directory containing the file to open doesn't exist then * If the directory containing the file to open doesn't exist then
* fail immediately * fail immediately
@ -548,7 +548,7 @@ VfatCreateFile ( PDEVICE_OBJECT DeviceObject, PIRP Irp )
} }
return(Status); return(Status);
} }
/* /*
* If the file open failed then create the required file * If the file open failed then create the required file
*/ */
@ -561,7 +561,7 @@ VfatCreateFile ( PDEVICE_OBJECT DeviceObject, PIRP Irp )
{ {
ULONG Attributes; ULONG Attributes;
Attributes = Stack->Parameters.Create.FileAttributes; Attributes = Stack->Parameters.Create.FileAttributes;
vfatSplitPathName(&FileObject->FileName, NULL, &FileNameU); vfatSplitPathName(&FileObject->FileName, NULL, &FileNameU);
Status = VfatAddEntry (DeviceExt, &FileNameU, &pFcb, ParentFcb, RequestedOptions, Status = VfatAddEntry (DeviceExt, &FileNameU, &pFcb, ParentFcb, RequestedOptions,
(UCHAR)(Attributes & FILE_ATTRIBUTE_VALID_FLAGS)); (UCHAR)(Attributes & FILE_ATTRIBUTE_VALID_FLAGS));
@ -574,9 +574,9 @@ VfatCreateFile ( PDEVICE_OBJECT DeviceObject, PIRP Irp )
vfatReleaseFCB (DeviceExt, pFcb); vfatReleaseFCB (DeviceExt, pFcb);
return Status; return Status;
} }
Irp->IoStatus.Information = FILE_CREATED; Irp->IoStatus.Information = FILE_CREATED;
VfatSetAllocationSizeInformation(FileObject, VfatSetAllocationSizeInformation(FileObject,
pFcb, pFcb,
DeviceExt, DeviceExt,
@ -584,7 +584,7 @@ VfatCreateFile ( PDEVICE_OBJECT DeviceObject, PIRP Irp )
VfatSetExtendedAttributes(FileObject, VfatSetExtendedAttributes(FileObject,
Irp->AssociatedIrp.SystemBuffer, Irp->AssociatedIrp.SystemBuffer,
Stack->Parameters.Create.EaLength); Stack->Parameters.Create.EaLength);
if (PagingFileCreate) if (PagingFileCreate)
{ {
pFcb->Flags |= FCB_IS_PAGE_FILE; pFcb->Flags |= FCB_IS_PAGE_FILE;
@ -614,9 +614,9 @@ VfatCreateFile ( PDEVICE_OBJECT DeviceObject, PIRP Irp )
VfatCloseFile (DeviceExt, FileObject); VfatCloseFile (DeviceExt, FileObject);
return(STATUS_OBJECT_NAME_COLLISION); return(STATUS_OBJECT_NAME_COLLISION);
} }
pFcb = FileObject->FsContext; pFcb = FileObject->FsContext;
if (pFcb->OpenHandleCount != 0) if (pFcb->OpenHandleCount != 0)
{ {
Status = IoCheckShareAccess(Stack->Parameters.Create.SecurityContext->DesiredAccess, Status = IoCheckShareAccess(Stack->Parameters.Create.SecurityContext->DesiredAccess,
@ -630,7 +630,7 @@ VfatCreateFile ( PDEVICE_OBJECT DeviceObject, PIRP Irp )
return(Status); return(Status);
} }
} }
/* /*
* Check the file has the requested attributes * Check the file has the requested attributes
*/ */
@ -646,7 +646,7 @@ VfatCreateFile ( PDEVICE_OBJECT DeviceObject, PIRP Irp )
VfatCloseFile (DeviceExt, FileObject); VfatCloseFile (DeviceExt, FileObject);
return(STATUS_NOT_A_DIRECTORY); return(STATUS_NOT_A_DIRECTORY);
} }
if (PagingFileCreate) if (PagingFileCreate)
{ {
/* FIXME: /* FIXME:
@ -678,8 +678,8 @@ VfatCreateFile ( PDEVICE_OBJECT DeviceObject, PIRP Irp )
return(STATUS_INVALID_PARAMETER); return(STATUS_INVALID_PARAMETER);
} }
} }
if (RequestedDisposition == FILE_OVERWRITE || if (RequestedDisposition == FILE_OVERWRITE ||
RequestedDisposition == FILE_OVERWRITE_IF) RequestedDisposition == FILE_OVERWRITE_IF)
{ {
@ -694,8 +694,8 @@ VfatCreateFile ( PDEVICE_OBJECT DeviceObject, PIRP Irp )
return(Status); return(Status);
} }
} }
/* Supersede the file */ /* Supersede the file */
if (RequestedDisposition == FILE_SUPERSEDE) if (RequestedDisposition == FILE_SUPERSEDE)
{ {
@ -712,7 +712,7 @@ VfatCreateFile ( PDEVICE_OBJECT DeviceObject, PIRP Irp )
Irp->IoStatus.Information = FILE_OPENED; Irp->IoStatus.Information = FILE_OPENED;
} }
} }
if (pFcb->OpenHandleCount == 0) if (pFcb->OpenHandleCount == 0)
{ {
IoSetShareAccess(Stack->Parameters.Create.SecurityContext->DesiredAccess, IoSetShareAccess(Stack->Parameters.Create.SecurityContext->DesiredAccess,
@ -726,13 +726,13 @@ VfatCreateFile ( PDEVICE_OBJECT DeviceObject, PIRP Irp )
FileObject, FileObject,
&pFcb->FCBShareAccess &pFcb->FCBShareAccess
); );
} }
pFcb->OpenHandleCount++; pFcb->OpenHandleCount++;
/* FIXME : test write access if requested */ /* FIXME : test write access if requested */
return(Status); return(Status);
} }
@ -744,9 +744,9 @@ VfatCreate (PVFAT_IRP_CONTEXT IrpContext)
*/ */
{ {
NTSTATUS Status; NTSTATUS Status;
ASSERT(IrpContext); ASSERT(IrpContext);
if (IrpContext->DeviceObject == VfatGlobalData->DeviceObject) if (IrpContext->DeviceObject == VfatGlobalData->DeviceObject)
{ {
/* DeviceObject represents FileSystem instead of logical volume */ /* DeviceObject represents FileSystem instead of logical volume */
@ -757,17 +757,17 @@ VfatCreate (PVFAT_IRP_CONTEXT IrpContext)
VfatFreeIrpContext(IrpContext); VfatFreeIrpContext(IrpContext);
return(STATUS_SUCCESS); return(STATUS_SUCCESS);
} }
if (!(IrpContext->Flags & IRPCONTEXT_CANWAIT)) if (!(IrpContext->Flags & IRPCONTEXT_CANWAIT))
{ {
return(VfatQueueRequest (IrpContext)); return(VfatQueueRequest (IrpContext));
} }
IrpContext->Irp->IoStatus.Information = 0; IrpContext->Irp->IoStatus.Information = 0;
ExAcquireResourceExclusiveLite (&IrpContext->DeviceExt->DirResource, TRUE); ExAcquireResourceExclusiveLite (&IrpContext->DeviceExt->DirResource, TRUE);
Status = VfatCreateFile (IrpContext->DeviceObject, IrpContext->Irp); Status = VfatCreateFile (IrpContext->DeviceObject, IrpContext->Irp);
ExReleaseResourceLite (&IrpContext->DeviceExt->DirResource); ExReleaseResourceLite (&IrpContext->DeviceExt->DirResource);
IrpContext->Irp->IoStatus.Status = Status; IrpContext->Irp->IoStatus.Status = Status;
IoCompleteRequest (IrpContext->Irp, IoCompleteRequest (IrpContext->Irp,
(CCHAR)(NT_SUCCESS(Status) ? IO_DISK_INCREMENT : IO_NO_INCREMENT)); (CCHAR)(NT_SUCCESS(Status) ? IO_DISK_INCREMENT : IO_NO_INCREMENT));