9 typedef struct _WMIGUIDREGINFO
{
13 } WMIGUIDREGINFO
, *PWMIGUIDREGINFO
;
17 (NTAPI WMI_QUERY_REGINFO_CALLBACK
)(
18 IN OUT PDEVICE_OBJECT DeviceObject
,
19 IN OUT PULONG RegFlags
,
20 IN OUT PUNICODE_STRING InstanceName
,
21 IN OUT PUNICODE_STRING
*RegistryPath OPTIONAL
,
22 IN OUT PUNICODE_STRING MofResourceName
,
23 OUT PDEVICE_OBJECT
*Pdo OPTIONAL
);
25 typedef WMI_QUERY_REGINFO_CALLBACK
*PWMI_QUERY_REGINFO
;
29 (NTAPI WMI_QUERY_DATABLOCK_CALLBACK
)(
30 IN OUT PDEVICE_OBJECT DeviceObject
,
32 IN OUT ULONG GuidIndex
,
33 IN ULONG InstanceIndex
,
34 IN ULONG InstanceCount
,
35 OUT PULONG InstanceLengthArray OPTIONAL
,
37 OUT PUCHAR Buffer OPTIONAL
);
39 typedef WMI_QUERY_DATABLOCK_CALLBACK
*PWMI_QUERY_DATABLOCK
;
43 (NTAPI WMI_SET_DATABLOCK_CALLBACK
)(
44 IN OUT PDEVICE_OBJECT DeviceObject
,
47 IN ULONG InstanceIndex
,
51 typedef WMI_SET_DATABLOCK_CALLBACK
*PWMI_SET_DATABLOCK
;
55 (NTAPI WMI_SET_DATAITEM_CALLBACK
)(
56 IN OUT PDEVICE_OBJECT DeviceObject
,
59 IN ULONG InstanceIndex
,
64 typedef WMI_SET_DATAITEM_CALLBACK
*PWMI_SET_DATAITEM
;
68 (NTAPI WMI_EXECUTE_METHOD_CALLBACK
)(
69 IN OUT PDEVICE_OBJECT DeviceObject
,
72 IN ULONG InstanceIndex
,
74 IN ULONG InBufferSize
,
75 IN ULONG OutBufferSize
,
76 IN OUT PUCHAR Buffer
);
78 typedef WMI_EXECUTE_METHOD_CALLBACK
*PWMI_EXECUTE_METHOD
;
82 (NTAPI WMI_FUNCTION_CONTROL_CALLBACK
)(
83 IN OUT PDEVICE_OBJECT DeviceObject
,
86 IN WMIENABLEDISABLECONTROL Function
,
89 typedef WMI_FUNCTION_CONTROL_CALLBACK
*PWMI_FUNCTION_CONTROL
;
91 typedef struct _WMILIB_CONTEXT
{
93 PWMIGUIDREGINFO GuidList
;
94 PWMI_QUERY_REGINFO QueryWmiRegInfo
;
95 PWMI_QUERY_DATABLOCK QueryWmiDataBlock
;
96 PWMI_SET_DATABLOCK SetWmiDataBlock
;
97 PWMI_SET_DATAITEM SetWmiDataItem
;
98 PWMI_EXECUTE_METHOD ExecuteWmiMethod
;
99 PWMI_FUNCTION_CONTROL WmiFunctionControl
;
100 } WMILIB_CONTEXT
, *PWMILIB_CONTEXT
;
106 #endif /* !_WMILIB_ */