typedef struct _DRIVER_OBJECT { short Type; short Size; DEVICE_OBJECT *DeviceObject; unsigned long Flags; void *DriverStart; unsigned long DriverSize; void *DriverSection; DRIVER_EXTENSION *DriverExtension; UNICODE_STRING DriverName; UNICODE_STRING *HardwareDatabase; FAST_IO_DISPATCH *FastIoDispatch; long (*DriverInit)(DRIVER_OBJECT *, UNICODE_STRING *); void (*DriverStartIo)(DEVICE_OBJECT *, IRP *); void (*DriverUnload)(DRIVER_OBJECT *); long (*MajorFunction[28])(DEVICE_OBJECT *, IRP *); } DRIVER_OBJECT, *PDRIVER_OBJECT;