+ntoskrnl/io/dir.c
[reactos.git] / ntoskrnl / io / dir.c
index 174eb03..19a132d 100644 (file)
@@ -19,6 +19,7 @@
 
 /* FUNCTIONS *****************************************************************/
 
+#ifndef LIBCAPTIVE
 
 
 NTSTATUS
@@ -38,6 +39,7 @@ NtNotifyChangeDirectoryFile (
        UNIMPLEMENTED;
 }
 
+#endif /* LIBCAPTIVE */
 
 NTSTATUS
 STDCALL 
@@ -134,7 +136,11 @@ NtQueryDirectoryFile(
      {
        IoStack->Flags = IoStack->Flags | SL_RETURN_SINGLE_ENTRY;
      }
-   if (((PFILE_DIRECTORY_INFORMATION)FileInformation)->FileIndex != 0)
+   /* SL_INDEX_SPECIFIED may take precedense over SL_RESTART_SCAN
+    * and 'FileInformation' may note be valid if !RestartScan.
+    * FIXME: 'PFILE_DIRECTORY_INFORMATION' type is dependent on 'FileInformationClass'!
+    */
+   if (!RestartScan && ((PFILE_DIRECTORY_INFORMATION)FileInformation)->FileIndex != 0)
      {
        IoStack->Flags = IoStack->Flags | SL_INDEX_SPECIFIED;
      }
@@ -164,10 +170,13 @@ NtQueryDirectoryFile(
    return(Status);
 }
 
+#ifndef LIBCAPTIVE
+
 NTSTATUS STDCALL NtQueryOleDirectoryFile(VOID)
 {
    UNIMPLEMENTED;
 }
 
+#endif /* LIBCAPTIVE */
 
 /* EOF */