#ifndef _INCLUDE_DDK_IOFUNCS_H
#define _INCLUDE_DDK_IOFUNCS_H
-/* $Id: iofuncs.h,v 1.33 2002/09/08 10:47:44 chorns Exp $ */
+/* $Id: iofuncs.h,v 1.34 2002/10/03 19:26:46 robd Exp $ */
/* --- EXPORTED BY NTOSKRNL --- */
IoQueueThreadIrp (
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 (
-/* $Id: iotypes.h,v 1.41 2002/09/08 10:47:44 chorns Exp $
+/* $Id: iotypes.h,v 1.42 2002/10/03 19:26:47 robd Exp $
*
*/
PDEVICE_CAPABILITIES Capabilities;
} DeviceCapabilities;
+ // Parameters for IRP_MN_FILTER_RESOURCE_REQUIREMENTS
+ struct
+ {
+ PIO_RESOURCE_REQUIREMENTS_LIST IoResourceRequirementList;
+ } FilterResourceRequirements;
+
// Parameters for IRP_MN_QUERY_ID
struct
{
#define STATUS_OBJECT_NAME_INVALID (0xc0000033)
#define STATUS_OBJECT_NAME_NOT_FOUND (0xc0000034)
#define STATUS_OBJECT_NAME_COLLISION (0xc0000035)
+#define STATUS_OBJECT_NAME_EXISTS (0x40000000)
+
#define STATUS_PORT_DISCONNECTED (0xc0000037)
#define STATUS_DEVICE_ALREADY_ATTACHED (0xc0000038)