#include <driver.h>
Public Member Functions | |
Driver (bool RegisterAddDevice=true) | |
Creates a Driver class instance. | |
virtual | ~Driver () |
Protected Member Functions | |
virtual NTSTATUS | DispatchRoutine (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, bool bIsPowerIrp) |
virtual NTSTATUS | DriverLoad (IN PUNICODE_STRING RegistryPath) |
virtual NTSTATUS | AddDevice (IN PDEVICE_OBJECT PhysicalDeviceObject) |
virtual void | OnDeviceRegistered (const Device *pDevice) |
virtual void | OnDeviceUnregistered (const Device *pDevice) |
Protected Attributes | |
PDRIVER_OBJECT | m_DriverObject |
bool | m_bRegisterAddDevice |
string | m_RegistryPath |
Static Private Member Functions | |
static VOID | sDriverUnload (IN PDRIVER_OBJECT DriverObject) |
static NTSTATUS | sDispatch (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp) |
static NTSTATUS | sDispatchPower (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp) |
static NTSTATUS | sAddDevice (IN PDRIVER_OBJECT DriverObject, IN PDEVICE_OBJECT PhysicalDeviceObject) |
static Driver * | GetMainDriver () |
Friends | |
class | Device |
NTSTATUS | _stdcall::DriverEntry (IN OUT PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath) |
BazisLib::DDK::Driver::Driver | ( | bool | RegisterAddDevice = true |
) | [inline] |
Creates a Driver class instance.
A typical DDK driver should contain a single Driver object instance that is created inside CreateMainDriverInstance() routine.
RegisterAddDevice | Specifies whether the driver should register the AddDevice callback within the operating system. PnP drivers should pass TRUE. |
virtual BazisLib::DDK::Driver::~Driver | ( | ) | [inline, virtual] |
virtual NTSTATUS BazisLib::DDK::Driver::AddDevice | ( | IN PDEVICE_OBJECT | PhysicalDeviceObject | ) | [protected, virtual] |
virtual NTSTATUS BazisLib::DDK::Driver::DispatchRoutine | ( | IN PDEVICE_OBJECT | DeviceObject, | |
IN PIRP | Irp, | |||
bool | bIsPowerIrp | |||
) | [protected, virtual] |
virtual NTSTATUS BazisLib::DDK::Driver::DriverLoad | ( | IN PUNICODE_STRING | RegistryPath | ) | [protected, virtual] |
static Driver* BazisLib::DDK::Driver::GetMainDriver | ( | ) | [static, private] |
virtual void BazisLib::DDK::Driver::OnDeviceRegistered | ( | const Device * | pDevice | ) | [inline, protected, virtual] |
virtual void BazisLib::DDK::Driver::OnDeviceUnregistered | ( | const Device * | pDevice | ) | [inline, protected, virtual] |
static NTSTATUS BazisLib::DDK::Driver::sAddDevice | ( | IN PDRIVER_OBJECT | DriverObject, | |
IN PDEVICE_OBJECT | PhysicalDeviceObject | |||
) | [static, private] |
static NTSTATUS BazisLib::DDK::Driver::sDispatch | ( | IN PDEVICE_OBJECT | DeviceObject, | |
IN PIRP | Irp | |||
) | [static, private] |
static NTSTATUS BazisLib::DDK::Driver::sDispatchPower | ( | IN PDEVICE_OBJECT | DeviceObject, | |
IN PIRP | Irp | |||
) | [static, private] |
static VOID BazisLib::DDK::Driver::sDriverUnload | ( | IN PDRIVER_OBJECT | DriverObject | ) | [static, private] |
NTSTATUS _stdcall::DriverEntry | ( | IN OUT PDRIVER_OBJECT | DriverObject, | |
IN PUNICODE_STRING | RegistryPath | |||
) | [friend] |
friend class Device [friend] |
bool BazisLib::DDK::Driver::m_bRegisterAddDevice [protected] |
PDRIVER_OBJECT BazisLib::DDK::Driver::m_DriverObject [protected] |
string BazisLib::DDK::Driver::m_RegistryPath [protected] |