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)(
const struct winhelp_callbacks Callbacks
void __inline CallbackStart(VOID)
void __inline CallbackEnd(VOID)
VOID SetContextForQueryLength(__in ULONG ContextSize)
virtual BOOLEAN IsSetInstanceSupported(VOID)
virtual BOOLEAN IsQueryInstanceSupported(VOID)
virtual _Must_inspect_result_ __drv_sameIRQL __drv_maxIRQL(PASSIVE_LEVEL) NTSTATUS QueryInstance(__inout ULONG OutBufferSize
virtual _Must_inspect_result_ __drv_sameIRQL __drv_maxIRQL(PASSIVE_LEVEL) NTSTATUS ExecuteMethod(__in ULONG MethodId
virtual _Must_inspect_result_ __drv_sameIRQL __in ULONG __inout ULONG __drv_when(InBufferSize >=OutBufferSize, __inout_bcount(InBufferSize)) __drv_when(InBufferSize< OutBufferSize
FxWmiInstanceSetItemCallback m_SetItemCallback
virtual _Must_inspect_result_ __drv_sameIRQL __drv_maxIRQL(PASSIVE_LEVEL) NTSTATUS SetItem(__in ULONG DataItemId
virtual _Must_inspect_result_ __drv_sameIRQL __out_xcount(OutBuffer->size) PVOID OutBuffer
virtual _Must_inspect_result_ __drv_sameIRQL __in ULONG __inout ULONG __inout_bcount(OutBufferSize)) PVOID Buffer
BOOLEAN m_UseContextForQuery
FxWmiInstanceQueryInstanceCallback m_QueryInstanceCallback
FxWmiInstanceSetInstanceCallback m_SetInstanceCallback
virtual _Must_inspect_result_ __drv_sameIRQL __in ULONG __in_bcount(InBufferSize) PVOID InBuffer)
virtual BOOLEAN IsSetItemSupported(VOID)
virtual _Must_inspect_result_ __drv_sameIRQL __in_bcount(InBufferSize) PVOID InBuffer)
virtual BOOLEAN IsExecuteMethodSupported(VOID)
FxWmiInstanceExecuteMethodCallback m_ExecuteMethodCallback
virtual _Must_inspect_result_ __drv_sameIRQL __drv_maxIRQL(PASSIVE_LEVEL) NTSTATUS SetInstance(__in ULONG InBufferSize
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)
virtual BOOLEAN IsSetInstanceSupported(VOID)
virtual _Must_inspect_result_ __drv_sameIRQL __in_bcount(InBufferSize) PVOID InBuffer)
PFN_FX_WMI_INSTANCE_EXECUTE_METHOD m_ExecuteMethod
virtual BOOLEAN IsQueryInstanceSupported(VOID)
PFN_FX_WMI_INSTANCE_SET_ITEM m_SetItem
virtual _Must_inspect_result_ __drv_sameIRQL __drv_maxIRQL(PASSIVE_LEVEL) NTSTATUS ExecuteMethod(__in ULONG MethodId
virtual _Must_inspect_result_ __drv_sameIRQL __in ULONG __in_bcount(InBufferSize) PVOID InBuffer)
virtual _Must_inspect_result_ __drv_sameIRQL __in ULONG __inout ULONG __inout_bcount(OutBufferSize)) PVOID Buffer
virtual BOOLEAN IsSetItemSupported(VOID)
virtual _Must_inspect_result_ __drv_sameIRQL __in ULONG __inout ULONG __drv_when(InBufferSize >=OutBufferSize, __inout_bcount(InBufferSize)) __drv_when(InBufferSize< OutBufferSize
virtual _Must_inspect_result_ __drv_sameIRQL __drv_maxIRQL(PASSIVE_LEVEL) NTSTATUS SetInstance(__in ULONG InBufferSize
virtual _Must_inspect_result_ __drv_sameIRQL __out_bcount(OutBufferSize) PVOID OutBuffer
virtual _Must_inspect_result_ __drv_sameIRQL __drv_maxIRQL(PASSIVE_LEVEL) NTSTATUS QueryInstance(__inout ULONG OutBufferSize
PFN_FX_WMI_INSTANCE_QUERY_INSTANCE m_QueryInstance
virtual BOOLEAN IsExecuteMethodSupported(VOID)
PFN_FX_WMI_INSTANCE_SET_INSTANCE m_SetInstance
virtual _Must_inspect_result_ __drv_sameIRQL __drv_maxIRQL(PASSIVE_LEVEL) NTSTATUS SetItem(__in ULONG DataItemId
virtual _Must_inspect_result_ __drv_sameIRQL __in_bcount(InBufferSize) PVOID InBuffer)=0
virtual _Must_inspect_result_ __drv_sameIRQL __in ULONG __in_bcount(InBufferSize) PVOID InBuffer)=0
virtual _Must_inspect_result_ __drv_sameIRQL __drv_maxIRQL(PASSIVE_LEVEL) NTSTATUS SetInstance(__in ULONG InBufferSize
virtual _Must_inspect_result_ __drv_sameIRQL __in ULONG __inout ULONG __inout_bcount(OutBufferSize)) PVOID Buffer
WDFWMIINSTANCE GetHandle(VOID)
virtual BOOLEAN Dispose(VOID)
virtual BOOLEAN IsExecuteMethodSupported(VOID)=0
virtual _Must_inspect_result_ __drv_sameIRQL __drv_maxIRQL(PASSIVE_LEVEL) NTSTATUS QueryInstance(__in ULONG OutBufferSize
virtual BOOLEAN IsQueryInstanceSupported(VOID)=0
CfxDevice * GetDevice(VOID)
virtual _Must_inspect_result_ __drv_sameIRQL __drv_maxIRQL(PASSIVE_LEVEL) NTSTATUS SetItem(__in ULONG DataItemId
FxWmiProvider * m_Provider
_Must_inspect_result_ NTSTATUS FireEvent(__in_bcount_opt(EventBufferSize) PVOID EventBuffer, __inout ULONG EventBufferSize)
virtual _Must_inspect_result_ __drv_sameIRQL __drv_maxIRQL(PASSIVE_LEVEL) NTSTATUS ExecuteMethod(__in ULONG MethodId
BOOLEAN IsEnabled(__in WDF_WMI_PROVIDER_CONTROL Control)
virtual BOOLEAN IsSetInstanceSupported(VOID)=0
virtual BOOLEAN IsSetItemSupported(VOID)=0
virtual _Must_inspect_result_ __drv_sameIRQL __out_bcount_part(OutBufferSize, *BufferUsed) PVOID OutBuffer
FxWmiProvider * GetProvider(VOID)
virtual _Must_inspect_result_ __drv_sameIRQL __in ULONG __inout ULONG __drv_when(InBufferSize >=OutBufferSize, __inout_bcount(InBufferSize)) __drv_when(InBufferSize< OutBufferSize
CfxDevice * GetDevice(VOID)
BOOLEAN IsEnabled(__in WDF_WMI_PROVIDER_CONTROL Control)
#define __in_bcount_opt(x)
_Must_inspect_result_ _In_ FLT_CONTEXT_TYPE _In_ SIZE_T ContextSize
return pObject GetObjectHandle()
_Must_inspect_result_ __drv_sameIRQL __in FxWmiInstanceInternal __inout ULONG OutBufferSize
_Must_inspect_result_ __drv_sameIRQL __in FxWmiInstanceInternal __inout ULONG __out PULONG BufferUsed
_Must_inspect_result_ __drv_sameIRQL __drv_maxIRQL(PASSIVE_LEVEL) NTSTATUS(*PFN_FX_WMI_INSTANCE_QUERY_INSTANCE)(__in CfxDevice *Device
_Must_inspect_result_ __drv_sameIRQL __in FxWmiInstanceInternal __in ULONG DataItemId
_Must_inspect_result_ __drv_sameIRQL __in FxWmiInstanceInternal * Instance
_Must_inspect_result_ __drv_sameIRQL __in FxWmiInstanceInternal __in ULONG __in_bcount(InBufferSize) PVOID InBuffer)
_Must_inspect_result_ __drv_sameIRQL __in FxWmiInstanceInternal __inout ULONG __out_bcount(OutBufferSize) PVOID OutBuffer
_Must_inspect_result_ __drv_sameIRQL __in FxWmiInstanceInternal __in ULONG MethodId
_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_ __drv_sameIRQL __in FxWmiInstanceInternal __in ULONG InBufferSize
_Must_inspect_result_ __drv_sameIRQL __in FxWmiInstanceInternal __in ULONG __in ULONG __inout ULONG __inout_bcount(OutBufferSize)) PVOID Buffer
#define _Must_inspect_result_
#define UNREFERENCED_PARAMETER(P)
#define STATUS_WMI_GUID_NOT_FOUND
#define STATUS_WMI_READ_ONLY
_In_ UCHAR _In_ ULONG _Out_ PUCHAR _Outptr_result_bytebuffer_ OutBufferLength PVOID * OutBuffer
PFN_WDF_WMI_INSTANCE_EXECUTE_METHOD m_Method
FxWmiInstanceExecuteMethodCallback(PFX_DRIVER_GLOBALS FxDriverGlobals)
_Must_inspect_result_ __drv_sameIRQL __in WDFWMIINSTANCE __in ULONG __in ULONG __inout ULONG __drv_when(InBufferSize >=OutBufferSize, __inout_bcount(InBufferSize)) __drv_when(InBufferSize< OutBufferSize
UNREFERENCED_PARAMETER(Device)
_Must_inspect_result_ __drv_sameIRQL __drv_maxIRQL(PASSIVE_LEVEL) NTSTATUS Invoke(__in WDFDEVICE Device
_Must_inspect_result_ __drv_sameIRQL __in WDFWMIINSTANCE __in ULONG __in ULONG __inout ULONG __inout_bcount(OutBufferSize)) PVOID Buffer
~FxWmiInstanceExecuteMethodCallback()
PFN_FX_WMI_INSTANCE_SET_ITEM SetItem
PFN_FX_WMI_INSTANCE_EXECUTE_METHOD ExecuteMethod
PFN_FX_WMI_INSTANCE_SET_INSTANCE SetInstance
PFN_FX_WMI_INSTANCE_QUERY_INSTANCE QueryInstance
FxWmiInstanceInternalCallbacks(VOID)
FxWmiInstanceQueryInstanceCallback(__in PFX_DRIVER_GLOBALS FxDriverGlobals)
_Must_inspect_result_ __drv_sameIRQL __in WDFWMIINSTANCE __inout ULONG __out_bcount(OutBufferSize) PVOID OutBuffer
PFN_WDF_WMI_INSTANCE_QUERY_INSTANCE m_Method
_Must_inspect_result_ __drv_sameIRQL __drv_maxIRQL(PASSIVE_LEVEL) NTSTATUS Invoke(__in WDFDEVICE Device
UNREFERENCED_PARAMETER(Device)
~FxWmiInstanceQueryInstanceCallback()
_Must_inspect_result_ __drv_sameIRQL __drv_maxIRQL(PASSIVE_LEVEL) NTSTATUS Invoke(__in WDFDEVICE Device
FxWmiInstanceSetInstanceCallback(PFX_DRIVER_GLOBALS FxDriverGlobals)
~FxWmiInstanceSetInstanceCallback()
_Must_inspect_result_ __drv_sameIRQL __in WDFWMIINSTANCE __in ULONG __in_bcount(InBufferSize) PVOID InBuffer)
PFN_WDF_WMI_INSTANCE_SET_INSTANCE m_Method
_Must_inspect_result_ __drv_sameIRQL __drv_maxIRQL(PASSIVE_LEVEL) NTSTATUS Invoke(__in WDFDEVICE Device
FxWmiInstanceSetItemCallback(PFX_DRIVER_GLOBALS FxDriverGlobals)
PFN_WDF_WMI_INSTANCE_SET_ITEM m_Method
~FxWmiInstanceSetItemCallback()
_Must_inspect_result_ __drv_sameIRQL __in WDFWMIINSTANCE __in ULONG __in ULONG __in_bcount(InBufferSize) PVOID InBuffer)
#define RtlZeroMemory(Destination, Length)
#define STATUS_UNSUCCESSFUL
_Must_inspect_result_ _In_ WDFDEVICE Device
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_CHILD_LIST_CONFIG Config
EVT_WDF_WMI_INSTANCE_EXECUTE_METHOD * PFN_WDF_WMI_INSTANCE_EXECUTE_METHOD
_In_ ULONG _Out_ PULONG BufferUsed
_In_ WDF_WMI_PROVIDER_CONTROL Control
EVT_WDF_WMI_INSTANCE_QUERY_INSTANCE * PFN_WDF_WMI_INSTANCE_QUERY_INSTANCE
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_WMI_INSTANCE_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES InstanceAttributes
EVT_WDF_WMI_INSTANCE_SET_INSTANCE * PFN_WDF_WMI_INSTANCE_SET_INSTANCE
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_WMI_INSTANCE_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_opt_ WDFWMIINSTANCE * Instance
WDF_EXTERN_C_START enum _WDF_WMI_PROVIDER_CONTROL WDF_WMI_PROVIDER_CONTROL
_Must_inspect_result_ _In_ WDFWMIINSTANCE WmiInstance
EVT_WDF_WMI_INSTANCE_SET_ITEM * PFN_WDF_WMI_INSTANCE_SET_ITEM