BazisLib::DDK::Driver Class Reference

#include <driver.h>

Collaboration diagram for BazisLib::DDK::Driver:

Collaboration graph
[legend]

List of all members.

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 DriverGetMainDriver ()

Friends

class Device
NTSTATUS _stdcall::DriverEntry (IN OUT PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath)


Constructor & Destructor Documentation

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.

Parameters:
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]


Member Function Documentation

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]


Friends And Related Function Documentation

NTSTATUS _stdcall::DriverEntry ( IN OUT PDRIVER_OBJECT  DriverObject,
IN PUNICODE_STRING  RegistryPath 
) [friend]

friend class Device [friend]


Member Data Documentation

PDRIVER_OBJECT BazisLib::DDK::Driver::m_DriverObject [protected]


The documentation for this class was generated from the following file:
SourceForge.net Logo