-/*
+/* $Id: iotypes.h,v 1.12 2000/03/06 01:02:30 ea Exp $
*
*/
KeepObject,
};
+
+typedef enum _CREATE_FILE_TYPE
+{
+ CreateFileTypeNone,
+ CreateFileTypeNamedPipe,
+ CreateFileTypeMailslot
+} CREATE_FILE_TYPE;
+
+
typedef ULONG INTERFACE_TYPE;
typedef INTERFACE_TYPE* PINTERFACE_TYPE;
struct {
ULONG Length;
FILE_INFORMATION_CLASS FileInformationClass;
- struct FILE_OBJECT* FileObject;
+ struct _FILE_OBJECT* FileObject;
union {
struct {
BOOLEAN ReplaceIfExists;
HANDLE DeleteHandle;
} u;
} SetFile;
-
- /*
- * This is a guess
- */
struct
{
ULONG Length;
typedef struct _IO_STATUS_BLOCK
{
- /*
- * Is the completion status
- */
NTSTATUS Status;
-
- /*
- * Is a request dependant value
- */
ULONG Information;
} IO_STATUS_BLOCK, *PIO_STATUS_BLOCK;
/*
* Driver cancel declaration
*/
-typedef NTSTATUS (*PDRIVER_CANCEL)(struct _DRIVER_OBJECT* DriverObject,
- PUNICODE_STRING RegistryPath);
+typedef NTSTATUS (*PDRIVER_CANCEL)(struct _DEVICE_OBJECT* DeviceObject,
+ struct _IRP* RegistryPath);
typedef struct _SECTION_OBJECT_POINTERS
typedef struct _IRP
{
+ CSHORT Type;
+ USHORT Size;
PMDL MdlAddress;
ULONG Flags;
union
UNICODE_STRING ServiceKeyName;
} DRIVER_EXTENSION, *PDRIVER_EXTENSION;
+#if 0
+typedef
+struct _FAST_IO_DISPATCH_TABLE
+{
+ ULONG Count;
+ PFAST_IO_DISPATCH Dispatch;
+
+} FAST_IO_DISPATCH_TABLE, * PFAST_IO_DISPATCH_TABLE;
+#endif
+
typedef struct _DRIVER_OBJECT
{
CSHORT Type;
PDRIVER_EXTENSION DriverExtension;
UNICODE_STRING DriverName;
PUNICODE_STRING HardwareDatabase;
+#if 0
+ PFAST_IO_DISPATCH_TABLE FastIoDispatch;
+#else
PFAST_IO_DISPATCH FastIoDispatch;
+#endif
PDRIVER_INITIALIZE DriverInit;
PDRIVER_STARTIO DriverStartIo;
PDRIVER_UNLOAD DriverUnload;