7 typedef enum _WMIENABLEDISABLECONTROL
{
10 } WMIENABLEDISABLECONTROL
, *PWMIENABLEDISABLECONTROL
;
12 typedef enum _SYSCTL_IRP_DISPOSITION
{
17 } SYSCTL_IRP_DISPOSITION
, *PSYSCTL_IRP_DISPOSITION
;
19 typedef struct _WMIGUIDREGINFO
{
23 } WMIGUIDREGINFO
, *PWMIGUIDREGINFO
;
25 typedef struct _WMILIB_CONTEXT
{
27 PWMIGUIDREGINFO GuidList
;
28 PWMI_QUERY_REGINFO QueryWmiRegInfo
;
29 PWMI_QUERY_DATABLOCK QueryWmiDataBlock
;
30 PWMI_SET_DATABLOCK SetWmiDataBlock
;
31 PWMI_SET_DATAITEM SetWmiDataItem
;
32 PWMI_EXECUTE_METHOD ExecuteWmiMethod
;
33 PWMI_FUNCTION_CONTROL WmiFunctionControl
;
34 } WMILIB_CONTEXT
, *PWMILIB_CONTEXT
;
37 (NTAPI
*PWMI_QUERY_REGINFO
) (
38 IN OUT PDEVICE_OBJECT DeviceObject
,
39 IN OUT PULONG RegFlags
,
40 IN OUT PUNICODE_STRING InstanceName
,
41 OUT PUNICODE_STRING
*RegistryPath OPTIONAL
,
42 IN OUT PUNICODE_STRING MofResourceName
,
43 OUT PDEVICE_OBJECT
*Pdo OPTIONAL
);
46 (NTAPI
*PWMI_QUERY_DATABLOCK
) (
47 IN OUT PDEVICE_OBJECT DeviceObject
,
50 IN ULONG InstanceIndex
,
51 IN ULONG InstanceCount
,
52 OUT PULONG InstanceLengthArray OPTIONAL
,
54 OUT PUCHAR Buffer OPTIONAL
);
57 (NTAPI
*PWMI_SET_DATABLOCK
) (
58 IN OUT PDEVICE_OBJECT DeviceObject
,
61 IN ULONG InstanceIndex
,
66 (NTAPI
*PWMI_SET_DATAITEM
) (
67 IN OUT PDEVICE_OBJECT DeviceObject
,
70 IN ULONG InstanceIndex
,
76 (NTAPI
*PWMI_EXECUTE_METHOD
) (
77 IN OUT PDEVICE_OBJECT DeviceObject
,
80 IN ULONG InstanceIndex
,
82 IN ULONG InBufferSize
,
83 IN ULONG OutBufferSize
,
84 IN OUT PUCHAR Buffer
);
87 (NTAPI
*PWMI_FUNCTION_CONTROL
) (
88 IN OUT PDEVICE_OBJECT DeviceObject
,
91 IN WMIENABLEDISABLECONTROL Function
,
94 #if (NTDDI_VERSION >= NTDDI_WIN2K)
99 IN PDEVICE_OBJECT DeviceObject
,
103 IN CCHAR PriorityBoost
);
108 IN PWMILIB_CONTEXT WmiLibInfo
,
109 IN PDEVICE_OBJECT DeviceObject
,
111 OUT PSYSCTL_IRP_DISPOSITION IrpDisposition
);
116 IN PDEVICE_OBJECT DeviceObject
,
118 IN ULONG InstanceIndex
,
119 IN ULONG EventDataSize
,
122 #endif /* (NTDDI_VERSION >= NTDDI_WIN2K) */