#include <fxmessagedispatchum.hpp>
|
| ~FxMessageDispatch () |
|
HRESULT __stdcall | QueryInterface (_In_ REFIID riid, _Out_ LPVOID *ppvObject) |
|
ULONG __stdcall | AddRef () |
|
ULONG __stdcall | Release () |
|
virtual void __stdcall | DispatchPnP (_In_ IWudfIrp *pIrp) |
|
virtual void __stdcall | CreateFile (_In_ IWudfIoIrp *pCreateIrp) |
|
virtual void __stdcall | DeviceControl (_In_ IWudfIoIrp *pIrp, _In_opt_ IUnknown *pFxContext) |
|
virtual void __stdcall | ReadFile (_In_ IWudfIoIrp *pIrp, _In_opt_ IUnknown *pFxContext) |
|
virtual void __stdcall | WriteFile (_In_ IWudfIoIrp *pIrp, _In_opt_ IUnknown *pFxContext) |
|
virtual void __stdcall | CleanupFile (_In_ IWudfIoIrp *pIrp, _In_ IUnknown *pFxContext) |
|
virtual void __stdcall | CloseFile (_In_ IWudfIoIrp *pIrp, _In_ IUnknown *pFxContext) |
|
virtual VOID __stdcall | GetPreferredTransferMode (_Out_ UMINT::WDF_DEVICE_IO_BUFFER_RETRIEVAL *RetrievalMode, _Out_ UMINT::WDF_DEVICE_IO_TYPE *RWPreference, _Out_ UMINT::WDF_DEVICE_IO_TYPE *IoctlPreference) |
|
virtual void __stdcall | FlushBuffers (_In_ IWudfIoIrp *pIrp, _In_opt_ IUnknown *pFxContext) |
|
virtual void __stdcall | QueryInformationFile (_In_ IWudfIoIrp *pIrp, _In_opt_ IUnknown *pFxContext) |
|
virtual void __stdcall | SetInformationFile (_In_ IWudfIoIrp *pIrp, _In_opt_ IUnknown *pFxContext) |
|
virtual NTSTATUS __stdcall | ProcessWmiPowerQueryOrSetData (_In_ RdWmiPowerAction Action, _Out_ BOOLEAN *QueryResult) |
|
virtual WUDF_INTERFACE_CONTEXT __stdcall | RemoteInterfaceArrival (_In_ LPCGUID pDeviceInterfaceGuid, _In_ PCWSTR pSymbolicLink) |
|
virtual void __stdcall | RemoteInterfaceRemoval (_In_ WUDF_INTERFACE_CONTEXT RemoteInterfaceID) |
|
virtual BOOL __stdcall | TransportQueryID (_In_ DWORD Id, _In_ PVOID DataBuffer, _In_ SIZE_T cbDataBufferSize) |
|
virtual ULONG __stdcall | GetDirectTransferThreshold (VOID) |
|
virtual void __stdcall | PoFxDevicePowerRequired (VOID) |
|
virtual void __stdcall | PoFxDevicePowerNotRequired (VOID) |
|
PDRIVER_OBJECT_UM | GetDriverObject (VOID) |
|
MdDeviceObject | GetDeviceObject (VOID) |
|
PVOID | operator new (__in size_t Size, __in PFX_DRIVER_GLOBALS FxDriverGlobals) |
|
PVOID | operator new (__in size_t Size, __in PFX_DRIVER_GLOBALS FxDriverGlobals, __in POOL_TYPE PoolType) |
|
VOID | operator delete (__in PVOID pointer) |
|
PVOID | operator new[] (__in size_t Size, __in PFX_DRIVER_GLOBALS FxDriverGlobals) |
|
VOID | operator delete[] (__in PVOID pointer) |
|
Definition at line 33 of file fxmessagedispatchum.hpp.
◆ FxMessageDispatch()
FxMessageDispatch::FxMessageDispatch |
( |
_In_ FxDevice * |
Device | ) |
|
|
inlineprivate |
◆ ~FxMessageDispatch()
FxMessageDispatch::~FxMessageDispatch |
( |
| ) |
|
|
inline |
◆ _CreateAndInitialize()
Definition at line 44 of file fxmessagedispatchum.cpp.
54 *ppWudfDispatcher =
NULL;
57 if (
NULL == pWudfDispatcher) {
60 "Memory allocation failure. Cannot create Dispatcher object.\n");
64 *ppWudfDispatcher = pWudfDispatcher;
FxMessageDispatch(_In_ FxDevice *Device)
_Must_inspect_result_ _In_ WDFDEVICE Device
#define TRACE_LEVEL_ERROR
DoTraceLevelMessage(pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGPNP, "Enter, WDFDEVICE %p", Device)
static SERVICE_STATUS status
◆ _GetDispatcherItf()
Definition at line 376 of file fxmessagedispatchum.cpp.
380 IFxMessageDispatch * pIFxMessageDispatch =
NULL;
381 HRESULT hrQI = pWudfDispatcher->QueryInterface(IID_IFxMessageDispatch,
382 (
PVOID*)&pIFxMessageDispatch);
384 pIFxMessageDispatch->
Release();
385 return pIFxMessageDispatch;
FX_VERIFY(INTERNAL, CHECK_NOT_NULL(LoaderInterface->pIWudfHost))
◆ _GetObjFromItf()
Definition at line 357 of file fxmessagedispatchum.cpp.
362 HRESULT hrQI = pIFxMessageDispatch->QueryInterface(
364 reinterpret_cast<void**>(&pWudfDispatcher)
368 return pWudfDispatcher;
ULONG __stdcall Release()
const GUID IID_FxMessageDispatch
FX_VERIFY(INTERNAL, CHECK_NOT_NULL(LoaderInterface->pIWudfHost))
◆ AddRef()
◆ CleanupFile()
Definition at line 217 of file fxmessagedispatchum.cpp.
PDRIVER_OBJECT_UM GetDriverObject(VOID)
MdDeviceObject GetDeviceObject(VOID)
PFN_DRIVER_DISPATCH_UM MajorFunction[IRP_MJ_MAXIMUM_FUNCTION+1]
◆ CloseFile()
Definition at line 226 of file fxmessagedispatchum.cpp.
PDRIVER_OBJECT_UM GetDriverObject(VOID)
MdDeviceObject GetDeviceObject(VOID)
PFN_DRIVER_DISPATCH_UM MajorFunction[IRP_MJ_MAXIMUM_FUNCTION+1]
◆ CreateFile()
void FxMessageDispatch::CreateFile |
( |
_In_ IWudfIoIrp * |
pCreateIrp | ) |
|
|
virtual |
Definition at line 178 of file fxmessagedispatchum.cpp.
PDRIVER_OBJECT_UM GetDriverObject(VOID)
MdDeviceObject GetDeviceObject(VOID)
PFN_DRIVER_DISPATCH_UM MajorFunction[IRP_MJ_MAXIMUM_FUNCTION+1]
◆ DeviceControl()
Definition at line 188 of file fxmessagedispatchum.cpp.
PDRIVER_OBJECT_UM GetDriverObject(VOID)
MdDeviceObject GetDeviceObject(VOID)
PFN_DRIVER_DISPATCH_UM MajorFunction[IRP_MJ_MAXIMUM_FUNCTION+1]
#define IRP_MJ_DEVICE_CONTROL
◆ DispatchPnP()
void FxMessageDispatch::DispatchPnP |
( |
_In_ IWudfIrp * |
pIrp | ) |
|
|
virtual |
Definition at line 154 of file fxmessagedispatchum.cpp.
158 IWudfPnpIrp * pIPnpIrp =
NULL;
PDRIVER_OBJECT_UM GetDriverObject(VOID)
FX_VERIFY(INTERNAL, CHECK_NOT_NULL(LoaderInterface->pIWudfHost))
MdDeviceObject GetDeviceObject(VOID)
PFN_DRIVER_DISPATCH_UM MajorFunction[IRP_MJ_MAXIMUM_FUNCTION+1]
◆ FlushBuffers()
Definition at line 235 of file fxmessagedispatchum.cpp.
#define IRP_MJ_FLUSH_BUFFERS
PDRIVER_OBJECT_UM GetDriverObject(VOID)
MdDeviceObject GetDeviceObject(VOID)
PFN_DRIVER_DISPATCH_UM MajorFunction[IRP_MJ_MAXIMUM_FUNCTION+1]
◆ GetDeviceObject()
Definition at line 231 of file fxmessagedispatchum.hpp.
MdDeviceObject __inline GetDeviceObject(VOID)
Referenced by CleanupFile(), CloseFile(), CreateFile(), DeviceControl(), DispatchPnP(), FlushBuffers(), GetPreferredTransferMode(), PoFxDevicePowerNotRequired(), PoFxDevicePowerRequired(), QueryInformationFile(), ReadFile(), RemoteInterfaceArrival(), RemoteInterfaceRemoval(), SetInformationFile(), TransportQueryID(), and WriteFile().
◆ GetDirectTransferThreshold()
ULONG FxMessageDispatch::GetDirectTransferThreshold |
( |
VOID |
| ) |
|
|
virtual |
◆ GetDriverObject()
◆ GetPreferredTransferMode()
Definition at line 270 of file fxmessagedispatchum.cpp.
enum _WDF_DEVICE_IO_TYPE WDF_DEVICE_IO_TYPE
MdDeviceObject GetDeviceObject(VOID)
static VOID GetPreferredTransferMode(_In_ MdDeviceObject DeviceObject, _Out_ UMINT::WDF_DEVICE_IO_BUFFER_RETRIEVAL *RetrievalMode, _Out_ WDF_DEVICE_IO_TYPE *RWPreference, _Out_ WDF_DEVICE_IO_TYPE *IoctlPreference)
◆ PoFxDevicePowerNotRequired()
void FxMessageDispatch::PoFxDevicePowerNotRequired |
( |
VOID |
| ) |
|
|
virtual |
Definition at line 341 of file fxmessagedispatchum.cpp.
static void PoFxDevicePowerNotRequired(_In_ MdDeviceObject DeviceObject)
MdDeviceObject GetDeviceObject(VOID)
◆ PoFxDevicePowerRequired()
void FxMessageDispatch::PoFxDevicePowerRequired |
( |
VOID |
| ) |
|
|
virtual |
Definition at line 333 of file fxmessagedispatchum.cpp.
MdDeviceObject GetDeviceObject(VOID)
static void PoFxDevicePowerRequired(_In_ MdDeviceObject DeviceObject)
◆ ProcessWmiPowerQueryOrSetData()
Definition at line 291 of file fxmessagedispatchum.cpp.
_In_ WDFIOTARGET _In_ _Strict_type_match_ WDF_IO_TARGET_SENT_IO_ACTION Action
NTSTATUS ProcessWmiPowerQueryOrSetData(_In_ RdWmiPowerAction Action, _Out_ BOOLEAN *QueryResult)
◆ QueryInformationFile()
Definition at line 246 of file fxmessagedispatchum.cpp.
PDRIVER_OBJECT_UM GetDriverObject(VOID)
MdDeviceObject GetDeviceObject(VOID)
PFN_DRIVER_DISPATCH_UM MajorFunction[IRP_MJ_MAXIMUM_FUNCTION+1]
#define IRP_MJ_QUERY_INFORMATION
◆ QueryInterface()
Definition at line 120 of file fxmessagedispatchum.cpp.
130 *
ppv = static_cast<IUnknown *> (
this);
132 else if ( iid == IID_IFxMessageDispatch ) {
133 *
ppv = static_cast<IFxMessageDispatch *> (
this);
135 else if ( iid == IID_IFxMessageDispatch2 ) {
136 *
ppv = static_cast<IFxMessageDispatch2 *> (
this);
const GUID IID_FxMessageDispatch
◆ ReadFile()
Definition at line 199 of file fxmessagedispatchum.cpp.
PDRIVER_OBJECT_UM GetDriverObject(VOID)
MdDeviceObject GetDeviceObject(VOID)
PFN_DRIVER_DISPATCH_UM MajorFunction[IRP_MJ_MAXIMUM_FUNCTION+1]
◆ Release()
◆ RemoteInterfaceArrival()
Definition at line 300 of file fxmessagedispatchum.cpp.
306 pDeviceInterfaceGuid,
static WUDF_INTERFACE_CONTEXT RemoteInterfaceArrival(_In_ IWudfDevice *DeviceObject, _In_ LPCGUID DeviceInterfaceGuid, _In_ PCWSTR SymbolicLink)
MdDeviceObject GetDeviceObject(VOID)
◆ RemoteInterfaceRemoval()
Definition at line 311 of file fxmessagedispatchum.cpp.
static void RemoteInterfaceRemoval(_In_ IWudfDevice *DeviceObject, _In_ WUDF_INTERFACE_CONTEXT RemoteInterfaceID)
MdDeviceObject GetDeviceObject(VOID)
◆ SetInformationFile()
Definition at line 259 of file fxmessagedispatchum.cpp.
PDRIVER_OBJECT_UM GetDriverObject(VOID)
MdDeviceObject GetDeviceObject(VOID)
PFN_DRIVER_DISPATCH_UM MajorFunction[IRP_MJ_MAXIMUM_FUNCTION+1]
#define IRP_MJ_SET_INFORMATION
◆ TransportQueryID()
Definition at line 320 of file fxmessagedispatchum.cpp.
static BOOL TransportQueryId(_In_ IWudfDevice *DeviceObject, _In_ DWORD Id, _In_ PVOID DataBuffer, _In_ SIZE_T cbDataBufferSize)
MdDeviceObject GetDeviceObject(VOID)
◆ WriteFile()
Definition at line 208 of file fxmessagedispatchum.cpp.
PDRIVER_OBJECT_UM GetDriverObject(VOID)
MdDeviceObject GetDeviceObject(VOID)
PFN_DRIVER_DISPATCH_UM MajorFunction[IRP_MJ_MAXIMUM_FUNCTION+1]
◆ m_cRefs
LONG FxMessageDispatch::m_cRefs |
|
private |
◆ m_Device
The documentation for this class was generated from the following files: