#ifndef _INCLUDE_DDK_IOFUNCS_H
#define _INCLUDE_DDK_IOFUNCS_H
-/* $Id: iofuncs.h,v 1.29 2002/01/21 22:27:36 hbirr Exp $ */
+/* $Id: iofuncs.h,v 1.34 2002/10/03 19:26:46 robd Exp $ */
/* --- EXPORTED BY NTOSKRNL --- */
VOID
STDCALL
IoQueueThreadIrp (
- PVOID Unknown0
+ IN PIRP Irp
+ );
+
+typedef struct _IO_WORKITEM *PIO_WORKITEM;
+typedef VOID (*PIO_WORKITEM_ROUTINE)(IN PDEVICE_OBJECT DeviceObject, IN PVOID Context);
+
+VOID
+STDCALL
+IoQueueWorkItem(
+ IN PIO_WORKITEM IoWorkItem,
+ IN PIO_WORKITEM_ROUTINE WorkerRoutine,
+ IN WORK_QUEUE_TYPE QueueType,
+ IN PVOID Context
);
+
+VOID
+STDCALL
+IoFreeWorkItem(
+ PIO_WORKITEM IoWorkItem
+ );
+
+PIO_WORKITEM
+STDCALL
+IoAllocateWorkItem(
+ PDEVICE_OBJECT DeviceObject
+ );
+
VOID
STDCALL
IoRaiseHardError (
IoStopTimer (
PDEVICE_OBJECT DeviceObject
);
-NTSTATUS
-STDCALL
-IoSynchronousPageWrite (
- DWORD Unknown0,
- DWORD Unknown1,
- DWORD Unknown2,
- DWORD Unknown3,
- DWORD Unknown4
- );
+
+NTSTATUS STDCALL
+IoPageRead(PFILE_OBJECT FileObject,
+ PMDL Mdl,
+ PLARGE_INTEGER Offset,
+ PKEVENT Event,
+ PIO_STATUS_BLOCK StatusBlock);
+
+NTSTATUS STDCALL
+IoSynchronousPageWrite (PFILE_OBJECT FileObject,
+ PMDL Mdl,
+ PLARGE_INTEGER Offset,
+ PKEVENT Event,
+ PIO_STATUS_BLOCK StatusBlock);
+
struct _EPROCESS* STDCALL IoThreadToProcess (struct _ETHREAD* Thread);
VOID
STDCALL