Defines |
| #define | CLASS_INIT_GUID 1 |
| #define | FirstDriveLetter 'C' |
| #define | LastDriveLetter 'Z' |
Functions |
| NTSTATUS NTAPI | DriverEntry (IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath) |
| ULONG | ClassInitialize (IN PVOID Argument1, IN PVOID Argument2, IN PCLASS_INIT_DATA InitializationData) |
| ULONG | ClassInitializeEx (IN PDRIVER_OBJECT DriverObject, IN LPGUID Guid, IN PVOID Data) |
| VOID | ClassUnload (IN PDRIVER_OBJECT DriverObject) |
| NTSTATUS | ClassAddDevice (IN PDRIVER_OBJECT DriverObject, IN PDEVICE_OBJECT PhysicalDeviceObject) |
| NTSTATUS | ClassDispatchPnp (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp) |
| NTSTATUS | ClassPnpStartDevice (IN PDEVICE_OBJECT DeviceObject) |
| NTSTATUS | ClassReadWrite (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp) |
| NTSTATUS | ClassReadDriveCapacity (IN PDEVICE_OBJECT Fdo) |
| VOID | ClassSendStartUnit (IN PDEVICE_OBJECT Fdo) |
| NTSTATUS | ClassAsynchronousCompletion (PDEVICE_OBJECT DeviceObject, PIRP Irp, PVOID Context) |
| VOID | ServiceTransferRequest (PDEVICE_OBJECT Fdo, PIRP Irp) |
| NTSTATUS | ClassIoComplete (IN PDEVICE_OBJECT Fdo, IN PIRP Irp, IN PVOID Context) |
| NTSTATUS | ClassSendSrbSynchronous (PDEVICE_OBJECT Fdo, PSCSI_REQUEST_BLOCK Srb, PVOID BufferAddress, ULONG BufferLength, BOOLEAN WriteToDevice) |
| BOOLEAN | ClassInterpretSenseInfo (IN PDEVICE_OBJECT Fdo, IN PSCSI_REQUEST_BLOCK Srb, IN UCHAR MajorFunctionCode, IN ULONG IoDeviceCode, IN ULONG RetryCount, OUT NTSTATUS *Status, OUT OPTIONAL ULONG *RetryInterval) |
| ULONG | ClassModeSense (IN PDEVICE_OBJECT Fdo, IN PCHAR ModeSenseBuffer, IN ULONG Length, IN UCHAR PageMode) |
| PVOID | ClassFindModePage (IN PCHAR ModeSenseBuffer, IN ULONG Length, IN UCHAR PageMode, IN BOOLEAN Use6Byte) |
| NTSTATUS | ClassSendSrbAsynchronous (PDEVICE_OBJECT Fdo, PSCSI_REQUEST_BLOCK Srb, PIRP Irp, PVOID BufferAddress, ULONG BufferLength, BOOLEAN WriteToDevice) |
| NTSTATUS | ClassDeviceControlDispatch (PDEVICE_OBJECT DeviceObject, PIRP Irp) |
| NTSTATUS | ClassDeviceControl (PDEVICE_OBJECT DeviceObject, PIRP Irp) |
| NTSTATUS | ClassShutdownFlush (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp) |
| NTSTATUS | ClassCreateDeviceObject (IN PDRIVER_OBJECT DriverObject, IN PCCHAR ObjectNameBuffer, IN PDEVICE_OBJECT LowerDevice, IN BOOLEAN IsFdo, IN OUT PDEVICE_OBJECT *DeviceObject) |
| NTSTATUS | ClassClaimDevice (IN PDEVICE_OBJECT LowerDeviceObject, IN BOOLEAN Release) |
| NTSTATUS | ClassInternalIoControl (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp) |
| ULONG | ClassQueryTimeOutRegistryValue (IN PDEVICE_OBJECT DeviceObject) |
| NTSTATUS | ClassCheckVerifyComplete (IN PDEVICE_OBJECT Fdo, IN PIRP Irp, IN PVOID Context) |
| NTSTATUS | ClassGetDescriptor (IN PDEVICE_OBJECT DeviceObject, IN PSTORAGE_PROPERTY_ID PropertyId, OUT PSTORAGE_DESCRIPTOR_HEADER *Descriptor) |
| NTSTATUS | ClassSignalCompletion (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PKEVENT Event) |
| NTSTATUS | ClassPnpQueryFdoRelations (IN PDEVICE_OBJECT Fdo, IN PIRP Irp) |
| VOID | ClassMarkChildrenMissing (IN PFUNCTIONAL_DEVICE_EXTENSION Fdo) |
| BOOLEAN | ClassMarkChildMissing (IN PPHYSICAL_DEVICE_EXTENSION Child, IN BOOLEAN AcquireChildLock) |
| NTSTATUS | ClassRetrieveDeviceRelations (IN PDEVICE_OBJECT Fdo, IN DEVICE_RELATION_TYPE RelationType, OUT PDEVICE_RELATIONS *DeviceRelations) |
| NTSTATUS | ClassGetPdoId (IN PDEVICE_OBJECT Pdo, IN BUS_QUERY_ID_TYPE IdType, IN PUNICODE_STRING IdString) |
| NTSTATUS | ClassQueryPnpCapabilities (IN PDEVICE_OBJECT DeviceObject, IN PDEVICE_CAPABILITIES Capabilities) |
| VOID | ClassInvalidateBusRelations (IN PDEVICE_OBJECT Fdo) |
| NTSTATUS | ClassRemoveDevice (IN PDEVICE_OBJECT DeviceObject, IN UCHAR RemoveType) |
| PCLASS_DRIVER_EXTENSION | ClassGetDriverExtension (IN PDRIVER_OBJECT DriverObject) |
| VOID | ClasspStartIo (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp) |
| VOID | ClassUpdateInformationInRegistry (IN PDEVICE_OBJECT Fdo, IN PCHAR DeviceName, IN ULONG DeviceNumber, IN PINQUIRYDATA InquiryData, IN ULONG InquiryDataLength) |
| NTSTATUS | ClasspSendSynchronousCompletion (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PVOID Context) |
| VOID | ClasspRegisterMountedDeviceInterface (IN PDEVICE_OBJECT DeviceObject) |
| VOID | ClassSendDeviceIoControlSynchronous (IN ULONG IoControlCode, IN PDEVICE_OBJECT TargetDeviceObject, IN OUT PVOID Buffer OPTIONAL, IN ULONG InputBufferLength, IN ULONG OutputBufferLength, IN BOOLEAN InternalDeviceIoControl, OUT PIO_STATUS_BLOCK IoStatus) |
| NTSTATUS | ClassForwardIrpSynchronous (IN PCOMMON_DEVICE_EXTENSION CommonExtension, IN PIRP Irp) |
| NTSTATUS | ClassSendIrpSynchronous (IN PDEVICE_OBJECT TargetDeviceObject, IN PIRP Irp) |
| PVPB | ClassGetVpb (IN PDEVICE_OBJECT DeviceObject) |
| NTSTATUS | ClasspAllocateReleaseRequest (IN PDEVICE_OBJECT Fdo) |
| VOID | ClasspFreeReleaseRequest (IN PDEVICE_OBJECT Fdo) |
| VOID | ClassReleaseQueue (IN PDEVICE_OBJECT Fdo) |
| NTSTATUS | ClasspAllocateReleaseQueueIrp (PFUNCTIONAL_DEVICE_EXTENSION FdoExtension) |
| VOID | ClasspReleaseQueue (IN PDEVICE_OBJECT Fdo, IN PIRP ReleaseQueueIrp OPTIONAL) |
| NTSTATUS | ClassReleaseQueueCompletion (PDEVICE_OBJECT DeviceObject, PIRP Irp, PVOID Context) |
| VOID | ClassAcquireChildLock (IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension) |
| VOID | ClassReleaseChildLock (IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension) |
| VOID | ClassAddChild (IN PFUNCTIONAL_DEVICE_EXTENSION Parent, IN PPHYSICAL_DEVICE_EXTENSION Child, IN BOOLEAN AcquireLock) |
| PPHYSICAL_DEVICE_EXTENSION | ClassRemoveChild (IN PFUNCTIONAL_DEVICE_EXTENSION Parent, IN PPHYSICAL_DEVICE_EXTENSION Child, IN BOOLEAN AcquireLock) |
| VOID | ClasspRetryRequestDpc (IN PKDPC Dpc, IN PDEVICE_OBJECT DeviceObject, IN PVOID Arg1, IN PVOID Arg2) |
| VOID | ClassRetryRequest (IN PDEVICE_OBJECT SelfDeviceObject, IN PIRP Irp, IN LARGE_INTEGER TimeDelta100ns) |
| VOID | ClasspRetryDpcTimer (IN PCLASS_PRIVATE_FDO_DATA FdoData) |
| NTSTATUS | ClasspInitializeHotplugInfo (IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension) |
| VOID | ClasspScanForClassHacks (IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension, IN ULONG_PTR Data) |
| VOID | ClasspScanForSpecialInRegistry (IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension) |
Variables |
| ULONG | ClassPnpAllowUnload = TRUE |