ReactOS 0.4.15-dev-8096-ga0eec98
FxWmiInstanceInternal Class Reference

#include <fxwmiinstance.hpp>

Inheritance diagram for FxWmiInstanceInternal:
Collaboration diagram for FxWmiInstanceInternal:

Public Member Functions

 FxWmiInstanceInternal (__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in FxWmiInstanceInternalCallbacks *Callbacks, __in FxWmiProvider *m_Provider)
 
- Public Member Functions inherited from FxWmiInstance
 FxWmiInstance (__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in USHORT ObjectSize, __in FxWmiProvider *Provider)
 
 ~FxWmiInstance ()
 
CfxDeviceGetDevice (VOID)
 
FxWmiProviderGetProvider (VOID)
 
_Must_inspect_result_ NTSTATUS FireEvent (__in_bcount_opt(EventBufferSize) PVOID EventBuffer, __inout ULONG EventBufferSize)
 
BOOLEAN IsEnabled (__in WDF_WMI_PROVIDER_CONTROL Control)
 
WDFWMIINSTANCE GetHandle (VOID)
 
virtual BOOLEAN IsQueryInstanceSupported (VOID)=0
 
virtual _Must_inspect_result_ __drv_sameIRQL __drv_maxIRQL (PASSIVE_LEVEL) NTSTATUS QueryInstance(__in ULONG OutBufferSize
 
virtual _Must_inspect_result_ __drv_sameIRQL __out_bcount_part (OutBufferSize, *BufferUsed) PVOID OutBuffer
 
virtual BOOLEAN IsSetInstanceSupported (VOID)=0
 
virtual _Must_inspect_result_ __drv_sameIRQL __drv_maxIRQL (PASSIVE_LEVEL) NTSTATUS SetInstance(__in ULONG InBufferSize
 
virtual _Must_inspect_result_ __drv_sameIRQL __in_bcount (InBufferSize) PVOID InBuffer)=0
 
virtual BOOLEAN IsSetItemSupported (VOID)=0
 
virtual _Must_inspect_result_ __drv_sameIRQL __drv_maxIRQL (PASSIVE_LEVEL) NTSTATUS SetItem(__in ULONG DataItemId
 
virtual _Must_inspect_result_ __drv_sameIRQL __in ULONG __in_bcount (InBufferSize) PVOID InBuffer)=0
 
virtual BOOLEAN IsExecuteMethodSupported (VOID)=0
 
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
 
virtual _Must_inspect_result_ __drv_sameIRQL __in ULONG __inout ULONG __inout_bcount (OutBufferSize)) PVOID Buffer
 
virtual BOOLEAN Dispose (VOID)
 
- Public Member Functions inherited from FxNonPagedObject
 FxNonPagedObject (__in WDFTYPE Type, __in USHORT Size, __in PFX_DRIVER_GLOBALS FxDriverGlobals)
 
 FxNonPagedObject (__in WDFTYPE Type, __in USHORT Size, __in PFX_DRIVER_GLOBALS FxDriverGlobals, __in FxObjectType ObjectType)
 
virtual ~FxNonPagedObject (VOID)
 
 _Acquires_lock_ (this->m_NPLock.m_Lock) __drv_maxIRQL(DISPATCH_LEVEL) __drv_setsIRQL(DISPATCH_LEVEL) VOID Lock(__out __drv_deref(__drv_savesIRQL) PKIRQL PreviousIrql)
 
 _Releases_lock_ (this->m_NPLock.m_Lock) __drv_requiresIRQL(DISPATCH_LEVEL) __inline VOID Unlock(__in __drv_restoresIRQL KIRQL PreviousIrql)
 
 _Acquires_lock_ (this->m_NPLock.m_Lock) __drv_requiresIRQL(DISPATCH_LEVEL) VOID LockAtDispatch(VOID)
 
 _Requires_lock_held_ (this->m_NPLock.m_Lock) _Releases_lock_(this -> m_NPLock.m_Lock) __drv_requiresIRQL(DISPATCH_LEVEL) __inline VOID UnlockFromDispatch(VOID)
 
- Public Member Functions inherited from FxObject
PVOID GetCOMWrapper ()
 
void SetCOMWrapper (__drv_aliasesMem PVOID Wrapper)
 
 FxObject (__in WDFTYPE Type, __in USHORT Size, __in PFX_DRIVER_GLOBALS FxDriverGlobals)
 
virtual ~FxObject (VOID)
 
PVOID __inline operator new (__in size_t Size, __in PFX_DRIVER_GLOBALS FxDriverGlobals, __in FxObjectType Type)
 
PVOID __inline operator new (__in size_t Size, __in PFX_DRIVER_GLOBALS FxDriverGlobals, __in_opt PWDF_OBJECT_ATTRIBUTES Attributes, __in USHORT ExtraSize=0)
 
VOID operator delete (__in PVOID Memory)
 
VOID SetNoContextHeader (VOID)
 
PVOID __inline GetObjectHandle (VOID)
 
__inline FxContextHeaderGetContextHeader (VOID)
 
__inline PFX_DRIVER_GLOBALS GetDriverGlobals (VOID)
 
WDFTYPE GetType (VOID)
 
USHORT GetObjectSize (VOID)
 
LONG GetRefCnt (VOID)
 
FxTagTrackerGetTagTracker (VOID)
 
CfxDeviceGetDevice (VOID)
 
CfxDeviceBaseGetDeviceBase (VOID)
 
VOID SetDeviceBase (__in CfxDeviceBase *DeviceBase)
 
__inline VOID CallCleanup (VOID)
 
ULONG __inline AddRef (__in_opt PVOID Tag=NULL, __in LONG Line=0, __in_opt PSTR File=NULL)
 
virtual ULONG Release (__in_opt PVOID Tag=NULL, __in LONG Line=0, __in_opt PSTR File=NULL)
 
virtual ULONG AddRefOverride (__in WDFOBJECT_OFFSET Offset, __in_opt PVOID Tag=NULL, __in LONG Line=0, __in_opt PSTR File=NULL)
 
virtual ULONG ReleaseOverride (__in WDFOBJECT_OFFSET Offset, __in_opt PVOID Tag=NULL, __in LONG Line=0, __in_opt PSTR File=NULL)
 
virtual _Must_inspect_result_ NTSTATUS QueryInterface (__in FxQueryInterfaceParams *Params)
 
VOID MarkTraceState (VOID)
 
BOOLEAN __inline IsTraceState (VOID)
 
VOID __inline TraceDroppedEvent (__in FxObjectDroppedEvent Event)
 
VOID MarkPassiveDispose (__in FxObjectLockState State=ObjectLock)
 
VOID MarkPassiveCallbacks (__in FxObjectLockState State=ObjectLock)
 
VOID MarkForceDisposeThread (__in FxObjectLockState State=ObjectLock)
 
BOOLEAN IsPassiveCallbacks (__in BOOLEAN AcquireLock=TRUE)
 
BOOLEAN IsPassiveDispose (__in BOOLEAN AcquireLock=TRUE)
 
BOOLEAN IsForceDisposeThread (__in BOOLEAN AcquireLock=TRUE)
 
VOID MarkCommitted (VOID)
 
BOOLEAN IsCommitted (VOID)
 
VOID MarkDisposeOverride (__in FxObjectLockState State=ObjectLock)
 
VOID MarkNoDeleteDDI (__in FxObjectLockState State=ObjectLock)
 
BOOLEAN IsNoDeleteDDI (VOID)
 
_Must_inspect_result_ NTSTATUS Commit (__in_opt PWDF_OBJECT_ATTRIBUTES Attributes, __out_opt WDFOBJECT *ObjectHandle, __in_opt FxObject *Parent=NULL, __in BOOLEAN AssignDriverAsDefaultParent=TRUE)
 
VOID DeleteFromFailedCreate (VOID)
 
VOID ClearEvtCallbacks (VOID)
 
BOOLEAN EarlyDispose (VOID)
 
virtual VOID DeleteObject (VOID)
 
virtual BOOLEAN Dispose (VOID)
 
_Must_inspect_result_ NTSTATUS AssignParentObject (__in FxObject *ParentObject)
 
_Must_inspect_result_ NTSTATUS AddContext (__in FxContextHeader *Header, __in PVOID *Context, __in PWDF_OBJECT_ATTRIBUTES Attributes)
 
_Must_inspect_result_ NTSTATUS RemoveParentAssignment (VOID)
 
_Must_inspect_result_ FxObjectGetParentObjectReferenced (__in PVOID Tag)
 
BOOLEAN IsDisposed (VOID)
 

Protected Member Functions

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 __out_bcount (OutBufferSize) PVOID OutBuffer
 
virtual BOOLEAN IsSetInstanceSupported (VOID)
 
virtual _Must_inspect_result_ __drv_sameIRQL __drv_maxIRQL (PASSIVE_LEVEL) NTSTATUS SetInstance(__in ULONG InBufferSize
 
virtual _Must_inspect_result_ __drv_sameIRQL __in_bcount (InBufferSize) PVOID InBuffer)
 
virtual BOOLEAN IsSetItemSupported (VOID)
 
virtual _Must_inspect_result_ __drv_sameIRQL __drv_maxIRQL (PASSIVE_LEVEL) NTSTATUS SetItem(__in ULONG DataItemId
 
virtual _Must_inspect_result_ __drv_sameIRQL __in ULONG __in_bcount (InBufferSize) PVOID InBuffer)
 
virtual BOOLEAN IsExecuteMethodSupported (VOID)
 
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
 
virtual _Must_inspect_result_ __drv_sameIRQL __in ULONG __inout ULONG __inout_bcount (OutBufferSize)) PVOID Buffer
 
- Protected Member Functions inherited from FxObject
 FxObject (__in WDFTYPE Type, __in USHORT Size, __in PFX_DRIVER_GLOBALS FxDriverGlobals, __in FxObjectType ObjectType)
 
FxObjectDebugExtensionGetDebugExtension (VOID)
 
BOOLEAN IsDebug (VOID)
 
VOID AllocateTagTracker (__in WDFTYPE Type)
 
virtual VOID SelfDestruct (VOID)
 
PVOID __inline GetObjectHandleUnchecked (VOID)
 
VOID __inline DestroyChildren (VOID)
 
VOID DeleteEarlyDisposedObject (VOID)
 

Protected Attributes

virtual _Must_inspect_result_ __drv_sameIRQL __out PULONG BufferUsed
 
virtual _Must_inspect_result_ __drv_sameIRQL __in ULONG InBufferSize
 
virtual _Must_inspect_result_ __drv_sameIRQL __in ULONG __inout ULONG OutBufferSize
 
virtual _Must_inspect_result_ __drv_sameIRQL __in ULONG __inout ULONG __out PULONG BufferUsed
 
PFN_FX_WMI_INSTANCE_QUERY_INSTANCE m_QueryInstance
 
PFN_FX_WMI_INSTANCE_SET_INSTANCE m_SetInstance
 
PFN_FX_WMI_INSTANCE_SET_ITEM m_SetItem
 
PFN_FX_WMI_INSTANCE_EXECUTE_METHOD m_ExecuteMethod
 
- Protected Attributes inherited from FxWmiInstance
LIST_ENTRY m_ListEntry
 
FxWmiProviderm_Provider
 
- Protected Attributes inherited from FxObject
union {
   CfxDeviceBase *   m_DeviceBase
 
   CfxDevice *   m_Device
 
}; 
 

Additional Inherited Members

- Static Public Member Functions inherited from FxObject
static FxObject_FromDisposeEntry (__in PSINGLE_LIST_ENTRY Entry)
 
static FxObject_GetObjectFromHandle (__in WDFOBJECT Handle, __inout PWDFOBJECT_OFFSET ObjectOffset)
 
static PVOID __inline _ToHandle (__in FxObject *Object)
 
static VOID __inline _ReferenceActual (__in WDFOBJECT Object, __in_opt PVOID Tag, __in LONG Line, __in PSTR File)
 
static VOID __inline _DereferenceActual (__in WDFOBJECT Object, __in_opt PVOID Tag, __in LONG Line, __in PSTR File)
 
static PVOID _GetDebugBase (__in FxObject *Object)
 
static PFX_POOL_HEADER _CleanupPointer (__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in FxObject *Object)
 
static _Must_inspect_result_ NTSTATUS _GetEffectiveLock (__in FxObject *Object, __in_opt IFxHasCallbacks *Callbacks, __in BOOLEAN AutomaticLocking, __in BOOLEAN PassiveCallbacks, __out FxCallbackLock **CallbackLock, __out_opt FxObject **CallbackLockObject)
 
static _Must_inspect_result_ NTSTATUS _ObjectQuery (_In_ FxObject *Object, _In_ CONST GUID *Guid, _In_ ULONG QueryBufferLength, _Out_writes_bytes_(QueryBufferLength) PVOID QueryBuffer)
 
- Public Attributes inherited from FxWmiInstance
virtual _Must_inspect_result_ __drv_sameIRQL __out PULONG BufferUsed =0
 
virtual _Must_inspect_result_ __drv_sameIRQL __in ULONG InBufferSize
 
virtual _Must_inspect_result_ __drv_sameIRQL __in ULONG __inout ULONG OutBufferSize
 
virtual _Must_inspect_result_ __drv_sameIRQL __in ULONG __inout ULONG __out PULONG BufferUsed =0
 
- Static Protected Member Functions inherited from FxObject
static PVOID _GetBase (__in FxObject *Object)
 

Detailed Description

Definition at line 571 of file fxwmiinstance.hpp.

Constructor & Destructor Documentation

◆ FxWmiInstanceInternal()

FxWmiInstanceInternal::FxWmiInstanceInternal ( __in PFX_DRIVER_GLOBALS  FxDriverGlobals,
__in FxWmiInstanceInternalCallbacks Callbacks,
__in FxWmiProvider m_Provider 
)

Definition at line 569 of file fxwmiinstance.cpp.

573 : FxWmiInstance(FxDriverGlobals, sizeof(FxWmiInstanceInternal), Provider)
574{
575 m_QueryInstance = Callbacks->QueryInstance;
576 m_SetInstance = Callbacks->SetInstance;
578 m_ExecuteMethod = Callbacks->ExecuteMethod;
579}
const struct winhelp_callbacks Callbacks
Definition: callback.c:161
PFN_FX_WMI_INSTANCE_EXECUTE_METHOD m_ExecuteMethod
PFN_FX_WMI_INSTANCE_SET_ITEM m_SetItem
PFN_FX_WMI_INSTANCE_QUERY_INSTANCE m_QueryInstance
PFN_FX_WMI_INSTANCE_SET_INSTANCE m_SetInstance
HRESULT SetItem(REFGUID guidKey, REFPROPVARIANT Value)

Member Function Documentation

◆ __drv_maxIRQL() [1/4]

virtual _Must_inspect_result_ __drv_sameIRQL FxWmiInstanceInternal::__drv_maxIRQL ( PASSIVE_LEVEL  )
protectedvirtual

Reimplemented from FxWmiInstance.

◆ __drv_maxIRQL() [2/4]

virtual _Must_inspect_result_ __drv_sameIRQL FxWmiInstanceInternal::__drv_maxIRQL ( PASSIVE_LEVEL  )
protectedvirtual

Reimplemented from FxWmiInstance.

◆ __drv_maxIRQL() [3/4]

virtual _Must_inspect_result_ __drv_sameIRQL FxWmiInstanceInternal::__drv_maxIRQL ( PASSIVE_LEVEL  )
protectedvirtual

Reimplemented from FxWmiInstance.

◆ __drv_maxIRQL() [4/4]

virtual _Must_inspect_result_ __drv_sameIRQL FxWmiInstanceInternal::__drv_maxIRQL ( PASSIVE_LEVEL  )
protectedvirtual

Reimplemented from FxWmiInstance.

◆ __drv_when()

virtual _Must_inspect_result_ __drv_sameIRQL __in ULONG __inout ULONG FxWmiInstanceInternal::__drv_when ( InBufferSize >=  OutBufferSize,
__inout_bcount(InBufferSize  
)
protected

◆ __in_bcount() [1/2]

virtual _Must_inspect_result_ __drv_sameIRQL FxWmiInstanceInternal::__in_bcount ( InBufferSize  )
protectedvirtual

Implements FxWmiInstance.

◆ __in_bcount() [2/2]

virtual _Must_inspect_result_ __drv_sameIRQL __in ULONG FxWmiInstanceInternal::__in_bcount ( InBufferSize  )
protectedvirtual

Implements FxWmiInstance.

◆ __inout_bcount()

virtual _Must_inspect_result_ __drv_sameIRQL __in ULONG __inout ULONG FxWmiInstanceInternal::__inout_bcount ( OutBufferSize  )
protected

◆ __out_bcount()

virtual _Must_inspect_result_ __drv_sameIRQL FxWmiInstanceInternal::__out_bcount ( OutBufferSize  )
protected

◆ IsExecuteMethodSupported()

BOOLEAN FxWmiInstanceInternal::IsExecuteMethodSupported ( VOID  )
protectedvirtual

Implements FxWmiInstance.

Definition at line 655 of file fxwmiinstance.cpp.

659{
660 return m_ExecuteMethod != NULL ? TRUE : FALSE;
661}
#define NULL
Definition: types.h:112
#define TRUE
Definition: types.h:120
#define FALSE
Definition: types.h:117

◆ IsQueryInstanceSupported()

BOOLEAN FxWmiInstanceInternal::IsQueryInstanceSupported ( VOID  )
protectedvirtual

Implements FxWmiInstance.

Definition at line 582 of file fxwmiinstance.cpp.

585{
586 return m_QueryInstance != NULL ? TRUE : FALSE;
587}

◆ IsSetInstanceSupported()

BOOLEAN FxWmiInstanceInternal::IsSetInstanceSupported ( VOID  )
protectedvirtual

Implements FxWmiInstance.

Definition at line 607 of file fxwmiinstance.cpp.

610{
611 return m_SetInstance != NULL ? TRUE : FALSE;
612}

◆ IsSetItemSupported()

BOOLEAN FxWmiInstanceInternal::IsSetItemSupported ( VOID  )
protectedvirtual

Implements FxWmiInstance.

Definition at line 630 of file fxwmiinstance.cpp.

633{
634 return m_SetItem != NULL ? TRUE : FALSE;
635}

Member Data Documentation

◆ BufferUsed [1/2]

virtual _Must_inspect_result_ __drv_sameIRQL __out PULONG FxWmiInstanceInternal::BufferUsed
protected

Definition at line 595 of file fxwmiinstance.hpp.

◆ BufferUsed [2/2]

virtual _Must_inspect_result_ __drv_sameIRQL __in ULONG __inout ULONG __out PULONG FxWmiInstanceInternal::BufferUsed
protected

Definition at line 649 of file fxwmiinstance.hpp.

◆ InBufferSize

_Must_inspect_result_ __drv_sameIRQL __in ULONG FxWmiInstanceInternal::InBufferSize
protected

Definition at line 627 of file fxwmiinstance.hpp.

◆ m_ExecuteMethod

PFN_FX_WMI_INSTANCE_EXECUTE_METHOD FxWmiInstanceInternal::m_ExecuteMethod
protected

Definition at line 656 of file fxwmiinstance.hpp.

Referenced by FxWmiInstanceInternal(), and IsExecuteMethodSupported().

◆ m_QueryInstance

PFN_FX_WMI_INSTANCE_QUERY_INSTANCE FxWmiInstanceInternal::m_QueryInstance
protected

Definition at line 653 of file fxwmiinstance.hpp.

Referenced by FxWmiInstanceInternal(), and IsQueryInstanceSupported().

◆ m_SetInstance

PFN_FX_WMI_INSTANCE_SET_INSTANCE FxWmiInstanceInternal::m_SetInstance
protected

Definition at line 654 of file fxwmiinstance.hpp.

Referenced by FxWmiInstanceInternal(), and IsSetInstanceSupported().

◆ m_SetItem

PFN_FX_WMI_INSTANCE_SET_ITEM FxWmiInstanceInternal::m_SetItem
protected

Definition at line 655 of file fxwmiinstance.hpp.

Referenced by FxWmiInstanceInternal(), and IsSetItemSupported().

◆ OutBufferSize

virtual _Must_inspect_result_ __drv_sameIRQL __in ULONG __inout ULONG FxWmiInstanceInternal::OutBufferSize
protected

Definition at line 645 of file fxwmiinstance.hpp.


The documentation for this class was generated from the following files: