27 #ifndef _FXWMIINSTANCE_H_ 28 #define _FXWMIINSTANCE_H_ 492 (*PFN_FX_WMI_INSTANCE_QUERY_INSTANCE)(
505 (*PFN_FX_WMI_INSTANCE_SET_INSTANCE)(
517 (*PFN_FX_WMI_INSTANCE_SET_ITEM)(
530 (*PFN_FX_WMI_INSTANCE_EXECUTE_METHOD)(
659 #endif // _FXWMIINSTANCE_H_ _In_ ULONG _Out_ PULONG BufferUsed
FxWmiInstanceInternal(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in FxWmiInstanceInternalCallbacks *Callbacks, __in FxWmiProvider *m_Provider)
virtual _Must_inspect_result_ __drv_sameIRQL __in ULONG __inout ULONG __drv_when(InBufferSize >=OutBufferSize, __inout_bcount(InBufferSize)) __drv_when(InBufferSize< OutBufferSize
PFN_FX_WMI_INSTANCE_SET_ITEM SetItem
FxWmiInstanceExternal(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in PWDF_WMI_INSTANCE_CONFIG Config, __in FxWmiProvider *Provider)
#define STATUS_WMI_GUID_NOT_FOUND
_In_ UCHAR _In_ ULONG _Out_ PUCHAR _Outptr_result_bytebuffer_ OutBufferLength PVOID * OutBuffer
_Must_inspect_result_ __drv_sameIRQL __drv_maxIRQL(PASSIVE_LEVEL) NTSTATUS(*PFN_FX_WMI_INSTANCE_QUERY_INSTANCE)(__in CfxDevice *Device
virtual _Must_inspect_result_ __drv_sameIRQL __out_bcount_part(OutBufferSize, *BufferUsed) PVOID OutBuffer
PFN_FX_WMI_INSTANCE_EXECUTE_METHOD m_ExecuteMethod
PFN_WDF_WMI_INSTANCE_EXECUTE_METHOD m_Method
#define UNREFERENCED_PARAMETER(P)
~FxWmiInstanceExecuteMethodCallback()
WDF_EXTERN_C_START enum _WDF_WMI_PROVIDER_CONTROL WDF_WMI_PROVIDER_CONTROL
virtual _Must_inspect_result_ __drv_sameIRQL __drv_maxIRQL(PASSIVE_LEVEL) NTSTATUS QueryInstance(__in ULONG OutBufferSize
virtual _Must_inspect_result_ __drv_sameIRQL __in ULONG __inout ULONG __inout_bcount(OutBufferSize)) PVOID Buffer
_Must_inspect_result_ __drv_sameIRQL __in FxWmiInstanceInternal __in ULONG __in ULONG __inout ULONG __drv_when(InBufferSize >=OutBufferSize, __inout_bcount(InBufferSize)) __drv_when(InBufferSize< OutBufferSize
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_WMI_INSTANCE_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES InstanceAttributes
virtual _Must_inspect_result_ __drv_sameIRQL __in_bcount(InBufferSize) PVOID InBuffer)=0
_Must_inspect_result_ __drv_sameIRQL __in FxWmiInstanceInternal * Instance
virtual _Must_inspect_result_ __drv_sameIRQL __drv_maxIRQL(PASSIVE_LEVEL) NTSTATUS QueryInstance(__inout ULONG OutBufferSize
virtual BOOLEAN IsSetItemSupported(VOID)
EVT_WDF_WMI_INSTANCE_SET_INSTANCE * PFN_WDF_WMI_INSTANCE_SET_INSTANCE
_Must_inspect_result_ _In_ FLT_CONTEXT_TYPE _In_ SIZE_T ContextSize
~FxWmiInstanceSetItemCallback()
#define STATUS_WMI_READ_ONLY
virtual BOOLEAN Dispose(VOID)
FxWmiInstanceSetInstanceCallback m_SetInstanceCallback
_Must_inspect_result_ _In_ WDFWMIINSTANCE WmiInstance
_Must_inspect_result_ __drv_sameIRQL __in WDFWMIINSTANCE __in ULONG __in_bcount(InBufferSize) PVOID InBuffer)
_Must_inspect_result_ __drv_sameIRQL __drv_maxIRQL(PASSIVE_LEVEL) NTSTATUS Invoke(__in WDFDEVICE Device
_Must_inspect_result_ __drv_sameIRQL __in FxWmiInstanceInternal __in ULONG __in ULONG __inout ULONG __inout_bcount(OutBufferSize)) PVOID Buffer
_Must_inspect_result_ __drv_sameIRQL __in FxWmiInstanceInternal __in ULONG __in_bcount(InBufferSize) PVOID InBuffer)
PFN_FX_WMI_INSTANCE_EXECUTE_METHOD ExecuteMethod
~FxWmiInstanceSetInstanceCallback()
~FxWmiInstanceQueryInstanceCallback()
virtual BOOLEAN IsExecuteMethodSupported(VOID)
PFN_FX_WMI_INSTANCE_SET_INSTANCE m_SetInstance
_Must_inspect_result_ __drv_sameIRQL __drv_maxIRQL(PASSIVE_LEVEL) NTSTATUS Invoke(__in WDFDEVICE Device
UNREFERENCED_PARAMETER(Device)
virtual _Must_inspect_result_ __drv_sameIRQL __in ULONG __inout ULONG __inout_bcount(OutBufferSize)) PVOID Buffer
virtual _Must_inspect_result_ __drv_sameIRQL __drv_maxIRQL(PASSIVE_LEVEL) NTSTATUS QueryInstance(__inout ULONG OutBufferSize
CfxDevice * GetDevice(VOID)
PFN_WDF_WMI_INSTANCE_SET_INSTANCE m_Method
PVOID __inline GetObjectHandle(VOID)
_In_ WDF_WMI_PROVIDER_CONTROL Control
_Must_inspect_result_ __drv_sameIRQL __drv_maxIRQL(PASSIVE_LEVEL) NTSTATUS Invoke(__in WDFDEVICE Device
_Must_inspect_result_ __drv_sameIRQL __drv_maxIRQL(PASSIVE_LEVEL) NTSTATUS Invoke(__in WDFDEVICE Device
_Must_inspect_result_ __drv_sameIRQL __in WDFWMIINSTANCE __inout ULONG __out_bcount(OutBufferSize) PVOID OutBuffer
PFN_WDF_WMI_INSTANCE_SET_ITEM m_Method
virtual _Must_inspect_result_ __drv_sameIRQL __in ULONG __inout ULONG __drv_when(InBufferSize >=OutBufferSize, __inout_bcount(InBufferSize)) __drv_when(InBufferSize< OutBufferSize
virtual BOOLEAN IsSetInstanceSupported(VOID)=0
PFN_WDF_WMI_INSTANCE_QUERY_INSTANCE m_Method
FxWmiInstanceSetItemCallback(PFX_DRIVER_GLOBALS FxDriverGlobals)
const struct winhelp_callbacks Callbacks
FxWmiProvider * m_Provider
_Must_inspect_result_ __drv_sameIRQL __in WDFWMIINSTANCE __in ULONG __in ULONG __inout ULONG __inout_bcount(OutBufferSize)) PVOID Buffer
EVT_WDF_WMI_INSTANCE_EXECUTE_METHOD * PFN_WDF_WMI_INSTANCE_EXECUTE_METHOD
FxWmiInstanceQueryInstanceCallback m_QueryInstanceCallback
virtual BOOLEAN IsQueryInstanceSupported(VOID)
_Must_inspect_result_ __drv_sameIRQL __in FxWmiInstanceInternal __inout ULONG __out_bcount(OutBufferSize) PVOID OutBuffer
virtual _Must_inspect_result_ __drv_sameIRQL __in ULONG __inout ULONG __inout_bcount(OutBufferSize)) PVOID Buffer
PFN_FX_WMI_INSTANCE_QUERY_INSTANCE QueryInstance
virtual BOOLEAN IsQueryInstanceSupported(VOID)
virtual BOOLEAN IsSetItemSupported(VOID)
#define STATUS_UNSUCCESSFUL
FxWmiInstanceSetInstanceCallback(PFX_DRIVER_GLOBALS FxDriverGlobals)
virtual BOOLEAN IsExecuteMethodSupported(VOID)=0
BOOLEAN IsEnabled(__in WDF_WMI_PROVIDER_CONTROL Control)
virtual _Must_inspect_result_ __drv_sameIRQL __in_bcount(InBufferSize) PVOID InBuffer)
BOOLEAN m_UseContextForQuery
#define _Must_inspect_result_
_Must_inspect_result_ _In_ WDFDEVICE Device
UNREFERENCED_PARAMETER(Device)
FxWmiProvider * GetProvider(VOID)
virtual BOOLEAN IsSetInstanceSupported(VOID)
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_CHILD_LIST_CONFIG Config
virtual BOOLEAN IsSetInstanceSupported(VOID)
FxWmiInstance(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in USHORT ObjectSize, __in FxWmiProvider *Provider)
_Must_inspect_result_ __drv_sameIRQL __in FxWmiInstanceInternal __inout ULONG __out PULONG BufferUsed
BOOLEAN IsEnabled(__in WDF_WMI_PROVIDER_CONTROL Control)
FxWmiInstanceExecuteMethodCallback m_ExecuteMethodCallback
_Must_inspect_result_ __drv_sameIRQL __in FxWmiInstanceInternal __in ULONG InBufferSize
virtual _Must_inspect_result_ __drv_sameIRQL __out_xcount(OutBuffer->size) PVOID OutBuffer
VOID SetContextForQueryLength(__in ULONG ContextSize)
PFN_FX_WMI_INSTANCE_QUERY_INSTANCE m_QueryInstance
WDFWMIINSTANCE GetHandle(VOID)
PFN_FX_WMI_INSTANCE_SET_ITEM m_SetItem
PFN_FX_WMI_INSTANCE_SET_INSTANCE SetInstance
virtual _Must_inspect_result_ __drv_sameIRQL __in ULONG __inout ULONG __drv_when(InBufferSize >=OutBufferSize, __inout_bcount(InBufferSize)) __drv_when(InBufferSize< OutBufferSize
FxWmiInstanceExecuteMethodCallback(PFX_DRIVER_GLOBALS FxDriverGlobals)
_Must_inspect_result_ __drv_sameIRQL __in FxWmiInstanceInternal __in ULONG DataItemId
#define RtlZeroMemory(Destination, Length)
_Must_inspect_result_ __drv_sameIRQL __in FxWmiInstanceInternal __in ULONG MethodId
_Must_inspect_result_ __in WDFWMIINSTANCE __in_opt ULONG __in_bcount_opt(EventDataSize) PVOID EventData)
FxWmiInstanceSetItemCallback m_SetItemCallback
_Must_inspect_result_ __drv_sameIRQL __in WDFWMIINSTANCE __in ULONG __in ULONG __inout ULONG __drv_when(InBufferSize >=OutBufferSize, __inout_bcount(InBufferSize)) __drv_when(InBufferSize< OutBufferSize
CfxDevice * GetDevice(VOID)
void __inline CallbackStart(VOID)
_Must_inspect_result_ __drv_sameIRQL __in FxWmiInstanceInternal __inout ULONG OutBufferSize
static _Must_inspect_result_ NTSTATUS _Create(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in FxWmiProvider *Provider, __in PWDF_WMI_INSTANCE_CONFIG WmiInstanceConfig, __in_opt PWDF_OBJECT_ATTRIBUTES InstanceAttributes, __out WDFWMIINSTANCE *WmiInstance, __out FxWmiInstanceExternal **Instance)
_Must_inspect_result_ __drv_sameIRQL __in WDFWMIINSTANCE __in ULONG __in ULONG __in_bcount(InBufferSize) PVOID InBuffer)
virtual BOOLEAN IsQueryInstanceSupported(VOID)=0
static SERVICE_STATUS status
FxWmiInstanceQueryInstanceCallback(__in PFX_DRIVER_GLOBALS FxDriverGlobals)
void __inline CallbackEnd(VOID)
EVT_WDF_WMI_INSTANCE_SET_ITEM * PFN_WDF_WMI_INSTANCE_SET_ITEM
FxWmiInstanceInternalCallbacks(VOID)
virtual _Must_inspect_result_ __drv_sameIRQL __in_bcount(InBufferSize) PVOID InBuffer)
virtual BOOLEAN IsExecuteMethodSupported(VOID)
virtual BOOLEAN IsSetItemSupported(VOID)=0
_Must_inspect_result_ NTSTATUS FireEvent(__in_bcount_opt(EventBufferSize) PVOID EventBuffer, __inout ULONG EventBufferSize)
EVT_WDF_WMI_INSTANCE_QUERY_INSTANCE * PFN_WDF_WMI_INSTANCE_QUERY_INSTANCE
virtual _Must_inspect_result_ __drv_sameIRQL __out_bcount(OutBufferSize) PVOID OutBuffer