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
;
26 (NTAPI
*PWMI_QUERY_REGINFO
) (
27 IN OUT PDEVICE_OBJECT DeviceObject
,
28 IN OUT PULONG RegFlags
,
29 IN OUT PUNICODE_STRING InstanceName
,
30 OUT PUNICODE_STRING
*RegistryPath OPTIONAL
,
31 IN OUT PUNICODE_STRING MofResourceName
,
32 OUT PDEVICE_OBJECT
*Pdo OPTIONAL
);
35 (NTAPI
*PWMI_FUNCTION_CONTROL
) (
36 IN OUT PDEVICE_OBJECT DeviceObject
,
39 IN WMIENABLEDISABLECONTROL Function
,
43 (NTAPI
*PWMI_QUERY_DATABLOCK
) (
44 IN OUT PDEVICE_OBJECT DeviceObject
,
47 IN ULONG InstanceIndex
,
48 IN ULONG InstanceCount
,
49 OUT PULONG InstanceLengthArray OPTIONAL
,
51 OUT PUCHAR Buffer OPTIONAL
);
54 (NTAPI
*PWMI_EXECUTE_METHOD
) (
55 IN OUT PDEVICE_OBJECT DeviceObject
,
58 IN ULONG InstanceIndex
,
60 IN ULONG InBufferSize
,
61 IN ULONG OutBufferSize
,
62 IN OUT PUCHAR Buffer
);
65 (NTAPI
*PWMI_SET_DATABLOCK
) (
66 IN OUT PDEVICE_OBJECT DeviceObject
,
69 IN ULONG InstanceIndex
,
74 (NTAPI
*PWMI_SET_DATAITEM
) (
75 IN OUT PDEVICE_OBJECT DeviceObject
,
78 IN ULONG InstanceIndex
,
83 typedef struct _WMILIB_CONTEXT
{
85 PWMIGUIDREGINFO GuidList
;
86 PWMI_QUERY_REGINFO QueryWmiRegInfo
;
87 PWMI_QUERY_DATABLOCK QueryWmiDataBlock
;
88 PWMI_SET_DATABLOCK SetWmiDataBlock
;
89 PWMI_SET_DATAITEM SetWmiDataItem
;
90 PWMI_EXECUTE_METHOD ExecuteWmiMethod
;
91 PWMI_FUNCTION_CONTROL WmiFunctionControl
;
92 } WMILIB_CONTEXT
, *PWMILIB_CONTEXT
;
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) */