reactos/include/ddk/wmlib.h
Timo Kreuzer 16e291bd53 [PSDK]
- Add dpfilter.h
- batclass.h: Fix BatteryClassSystemControl
- ntdef.h: add ARGUMENT_PRESENT and PEXCEPTION_ROUTINE
[NDK]
- Add some ob functions
[DDK]
- add wmlib.h
- remove winddk.h
[WDM]
- include dpfilter.h
- Add ASSERT_GATE, ASSERT_TIMER, ASSERT_MUTANT, ASSERT_SEMAPHORE, ASSERT_EVENT, TIMER_TABLE_SIZE, TIMER_TABLE_SHIFT, ADDRESS_AND_SIZE_TO_SPAN_PAGES, PoRequestShutdownEvent
- Group architecture specific definitions (currently only x86)
- uncomment some _DECL_HAL_KE_IMPORT


svn path=/branches/header-work/; revision=46137
2010-03-12 16:37:33 +00:00

107 lines
2.4 KiB
C

#ifndef _WMILIB_
#define _WMILIB_
#ifdef __cplusplus
extern "C" {
#endif
typedef struct _WMIGUIDREGINFO {
LPCGUID Guid;
ULONG InstanceCount;
ULONG Flags;
} WMIGUIDREGINFO, *PWMIGUIDREGINFO;
typedef
NTSTATUS
(NTAPI WMI_QUERY_REGINFO_CALLBACK)(
IN OUT PDEVICE_OBJECT DeviceObject,
IN OUT PULONG RegFlags,
IN OUT PUNICODE_STRING InstanceName,
IN OUT PUNICODE_STRING *RegistryPath OPTIONAL,
IN OUT PUNICODE_STRING MofResourceName,
OUT PDEVICE_OBJECT *Pdo OPTIONAL);
typedef WMI_QUERY_REGINFO_CALLBACK *PWMI_QUERY_REGINFO;
typedef
NTSTATUS
(NTAPI WMI_QUERY_DATABLOCK_CALLBACK)(
IN OUT PDEVICE_OBJECT DeviceObject,
IN OUT PIRP Irp,
IN OUT ULONG GuidIndex,
IN ULONG InstanceIndex,
IN ULONG InstanceCount,
OUT PULONG InstanceLengthArray OPTIONAL,
IN ULONG BufferAvail,
OUT PUCHAR Buffer OPTIONAL);
typedef WMI_QUERY_DATABLOCK_CALLBACK *PWMI_QUERY_DATABLOCK;
typedef
NTSTATUS
(NTAPI WMI_SET_DATABLOCK_CALLBACK)(
IN OUT PDEVICE_OBJECT DeviceObject,
IN OUT PIRP Irp,
IN ULONG GuidIndex,
IN ULONG InstanceIndex,
IN ULONG BufferSize,
IN PUCHAR Buffer);
typedef WMI_SET_DATABLOCK_CALLBACK *PWMI_SET_DATABLOCK;
typedef
NTSTATUS
(NTAPI WMI_SET_DATAITEM_CALLBACK)(
IN OUT PDEVICE_OBJECT DeviceObject,
IN OUT PIRP Irp,
IN ULONG GuidIndex,
IN ULONG InstanceIndex,
IN ULONG DataItemId,
IN ULONG BufferSize,
IN PUCHAR Buffer);
typedef WMI_SET_DATAITEM_CALLBACK *PWMI_SET_DATAITEM;
typedef
NTSTATUS
(NTAPI WMI_EXECUTE_METHOD_CALLBACK)(
IN OUT PDEVICE_OBJECT DeviceObject,
IN OUT PIRP Irp,
IN ULONG GuidIndex,
IN ULONG InstanceIndex,
IN ULONG MethodId,
IN ULONG InBufferSize,
IN ULONG OutBufferSize,
IN OUT PUCHAR Buffer);
typedef WMI_EXECUTE_METHOD_CALLBACK *PWMI_EXECUTE_METHOD;
typedef
NTSTATUS
(NTAPI WMI_FUNCTION_CONTROL_CALLBACK)(
IN OUT PDEVICE_OBJECT DeviceObject,
IN OUT PIRP Irp,
IN ULONG GuidIndex,
IN WMIENABLEDISABLECONTROL Function,
IN BOOLEAN Enable);
typedef WMI_FUNCTION_CONTROL_CALLBACK *PWMI_FUNCTION_CONTROL;
typedef struct _WMILIB_CONTEXT {
ULONG GuidCount;
PWMIGUIDREGINFO GuidList;
PWMI_QUERY_REGINFO QueryWmiRegInfo;
PWMI_QUERY_DATABLOCK QueryWmiDataBlock;
PWMI_SET_DATABLOCK SetWmiDataBlock;
PWMI_SET_DATAITEM SetWmiDataItem;
PWMI_EXECUTE_METHOD ExecuteWmiMethod;
PWMI_FUNCTION_CONTROL WmiFunctionControl;
} WMILIB_CONTEXT, *PWMILIB_CONTEXT;
#ifdef __cplusplus
}
#endif
#endif /* !_WMILIB_ */