Index: drivers/filesystems/cdfs/dirctl.c =================================================================== --- drivers/filesystems/cdfs/dirctl.c (revision 74390) +++ drivers/filesystems/cdfs/dirctl.c (working copy) @@ -717,12 +717,12 @@ Buffer0 = (PFILE_NAMES_INFORMATION)Buffer; Buffer0->FileIndex = FileIndex++; Ccb->Entry++; + BufferLength -= Buffer0->NextEntryOffset; if (Stack->Flags & SL_RETURN_SINGLE_ENTRY) { break; } - BufferLength -= Buffer0->NextEntryOffset; Buffer += Buffer0->NextEntryOffset; } @@ -729,6 +729,7 @@ if (Buffer0) { Buffer0->NextEntryOffset = 0; + Irp->IoStatus.Information = Stack->Parameters.QueryDirectory.Length - BufferLength; } if (FileIndex > 0) @@ -811,11 +812,6 @@ break; } - if (Status != STATUS_PENDING) - { - Irp->IoStatus.Information = 0; - } - return(Status); }