9 typedef struct _WMIGUIDREGINFO
{
13 } WMIGUIDREGINFO
, *PWMIGUIDREGINFO
;
15 typedef enum _WMIENABLEDISABLECONTROL
{
18 } WMIENABLEDISABLECONTROL
, *PWMIENABLEDISABLECONTROL
;
20 typedef enum _SYSCTL_IRP_DISPOSITION
{
25 } SYSCTL_IRP_DISPOSITION
, *PSYSCTL_IRP_DISPOSITION
;
29 (NTAPI WMI_QUERY_REGINFO_CALLBACK
)(
30 IN OUT PDEVICE_OBJECT DeviceObject
,
31 IN OUT PULONG RegFlags
,
32 IN OUT PUNICODE_STRING InstanceName
,
33 IN OUT PUNICODE_STRING
*RegistryPath OPTIONAL
,
34 IN OUT PUNICODE_STRING MofResourceName
,
35 OUT PDEVICE_OBJECT
*Pdo OPTIONAL
);
37 typedef WMI_QUERY_REGINFO_CALLBACK
*PWMI_QUERY_REGINFO
;
41 (NTAPI WMI_QUERY_DATABLOCK_CALLBACK
)(
42 IN OUT PDEVICE_OBJECT DeviceObject
,
44 IN OUT ULONG GuidIndex
,
45 IN ULONG InstanceIndex
,
46 IN ULONG InstanceCount
,
47 OUT PULONG InstanceLengthArray OPTIONAL
,
49 OUT PUCHAR Buffer OPTIONAL
);
51 typedef WMI_QUERY_DATABLOCK_CALLBACK
*PWMI_QUERY_DATABLOCK
;
55 (NTAPI WMI_SET_DATABLOCK_CALLBACK
)(
56 IN OUT PDEVICE_OBJECT DeviceObject
,
59 IN ULONG InstanceIndex
,
63 typedef WMI_SET_DATABLOCK_CALLBACK
*PWMI_SET_DATABLOCK
;
67 (NTAPI WMI_SET_DATAITEM_CALLBACK
)(
68 IN OUT PDEVICE_OBJECT DeviceObject
,
71 IN ULONG InstanceIndex
,
76 typedef WMI_SET_DATAITEM_CALLBACK
*PWMI_SET_DATAITEM
;
80 (NTAPI WMI_EXECUTE_METHOD_CALLBACK
)(
81 IN OUT PDEVICE_OBJECT DeviceObject
,
84 IN ULONG InstanceIndex
,
86 IN ULONG InBufferSize
,
87 IN ULONG OutBufferSize
,
88 IN OUT PUCHAR Buffer
);
90 typedef WMI_EXECUTE_METHOD_CALLBACK
*PWMI_EXECUTE_METHOD
;
94 (NTAPI WMI_FUNCTION_CONTROL_CALLBACK
)(
95 IN OUT PDEVICE_OBJECT DeviceObject
,
98 IN WMIENABLEDISABLECONTROL Function
,
101 typedef WMI_FUNCTION_CONTROL_CALLBACK
*PWMI_FUNCTION_CONTROL
;
103 typedef struct _WMILIB_CONTEXT
{
105 PWMIGUIDREGINFO GuidList
;
106 PWMI_QUERY_REGINFO QueryWmiRegInfo
;
107 PWMI_QUERY_DATABLOCK QueryWmiDataBlock
;
108 PWMI_SET_DATABLOCK SetWmiDataBlock
;
109 PWMI_SET_DATAITEM SetWmiDataItem
;
110 PWMI_EXECUTE_METHOD ExecuteWmiMethod
;
111 PWMI_FUNCTION_CONTROL WmiFunctionControl
;
112 } WMILIB_CONTEXT
, *PWMILIB_CONTEXT
;
118 #endif /* !_WMILIB_ */