/* FUNCTIONS *****************************************************************/
+#ifndef LIBCAPTIVE
+
NTSTATUS STDCALL
IoPageWrite(PFILE_OBJECT FileObject,
PMDL Mdl,
return(Status);
}
+#endif /* LIBCAPTIVE */
NTSTATUS STDCALL
IoPageRead(PFILE_OBJECT FileObject,
{
return (STATUS_INSUFFICIENT_RESOURCES);
}
- Irp->Flags = IRP_NOCACHE|IRP_PAGING_IO;
+ Irp->Flags = IRP_NOCACHE
+#ifndef LIBCAPTIVE
+ |IRP_PAGING_IO;
+#else /* !LIBCAPTIVE */
+/* IRP_SYNCHRONOUS_PAGING_IO: We need to prevent STATUS_PENDING
+ * IRP_PAGING_IO: We need to pass check in W32 filesystem as we are FO_CLEANUP_COMPLETE (why?)
+ */
+ |IRP_PAGING_IO|IRP_SYNCHRONOUS_PAGING_IO;
+#endif /* !LIBCAPTIVE */
StackPtr = IoGetNextIrpStackLocation(Irp);
StackPtr->FileObject = FileObject;
DPRINT("Before IoCallDriver\n");
return(Status);
}
-
NTSTATUS STDCALL
IoSynchronousPageWrite (PFILE_OBJECT FileObject,
PMDL Mdl,
PIO_STACK_LOCATION StackPtr;
NTSTATUS Status;
- DPRINT("IoSynchronousPageWrite(FileObject %x, Mdl %x)\n",
- FileObject, Mdl);
+ DPRINT("IoSynchronousPageWrite(FileObject %x, Mdl %x, StatusBlock %x)\n",
+ FileObject, Mdl, StatusBlock);
Irp = IoBuildSynchronousFsdRequestWithMdl(IRP_MJ_WRITE,
FileObject->DeviceObject,
return(Status);
}
-
/* EOF */