This repository has been archived on 2024-12-16. You can view files and clone it, but cannot push or open issues or pull requests.
CodeBlocksPortable/WATCOM/h/nt/ddk/wmilib.h

89 lines
3.2 KiB
C
Raw Normal View History

/*
* wmilib.h Windows Management Instrumentation (WMI) library functions
*
* =========================================================================
*
* Open Watcom Project
*
* Copyright (c) 2004-2010 The Open Watcom Contributors. All Rights Reserved.
*
* This file is automatically generated. Do not edit directly.
*
* =========================================================================
*/
#ifndef _WMILIB_
#define _WMILIB_
#ifndef _ENABLE_AUTODEPEND
#pragma read_only_file;
#endif
#ifdef __cplusplus
extern "C" {
#endif
/* WMI GUID registration information */
typedef struct _WMIGUIDREGINFO {
LPCGUID Guid;
ULONG InstanceCount;
ULONG Flags;
} WMIGUIDREGINFO;
typedef WMIGUIDREGINFO *PWMIGUIDREGINFO;
/* WMI enable/disable control values */
typedef enum _WMIENABLEDISABLECONTROL {
WmiEventControl = 0,
WmiDataBlockControl = 1
} WMIENABLEDISABLECONTROL;
typedef WMIENABLEDISABLECONTROL *PWMIENABLEDISABLECONTROL;
/* System control IRP dispositions */
typedef enum _SYSCTL_IRP_DISPOSITION {
IrpProcessed = 0,
IrpNotCompleted = 1,
IrpNotWmi = 2,
IrpForward = 3
} SYSCTL_IRP_DISPOSITION;
typedef SYSCTL_IRP_DISPOSITION *PSYSCTL_IRP_DISPOSITION;
/* WMI query callbacks */
typedef NTSTATUS (NTAPI WMI_QUERY_REGINFO_CALLBACK)( PDEVICE_OBJECT, PULONG, PUNICODE_STRING, PUNICODE_STRING *, PUNICODE_STRING, PDEVICE_OBJECT * );
typedef NTSTATUS (NTAPI WMI_QUERY_DATABLOCK_CALLBACK)( PDEVICE_OBJECT, PIRP, ULONG, ULONG, ULONG, PULONG, ULONG, PUCHAR );
typedef NTSTATUS (NTAPI WMI_SET_DATABLOCK_CALLBACK)( PDEVICE_OBJECT, PIRP, ULONG, ULONG, ULONG, PUCHAR );
typedef NTSTATUS (NTAPI WMI_SET_DATAITEM_CALLBACK)( PDEVICE_OBJECT, PIRP, ULONG, ULONG, ULONG, ULONG, PUCHAR );
typedef NTSTATUS (NTAPI WMI_EXECUTE_METHOD_CALLBACK)( PDEVICE_OBJECT, PIRP, ULONG, ULONG, ULONG, ULONG, ULONG, PUCHAR );
typedef NTSTATUS (NTAPI WMI_FUNCTION_CONTROL_CALLBACK)( PDEVICE_OBJECT, PIRP, ULONG, WMIENABLEDISABLECONTROL, BOOLEAN );
typedef WMI_QUERY_REGINFO_CALLBACK *PWMI_QUERY_REGINFO;
typedef WMI_QUERY_DATABLOCK_CALLBACK *PWMI_QUERY_DATABLOCK;
typedef WMI_SET_DATABLOCK_CALLBACK *PWMI_SET_DATABLOCK;
typedef WMI_SET_DATAITEM_CALLBACK *PWMI_SET_DATAITEM;
typedef WMI_EXECUTE_METHOD_CALLBACK *PWMI_EXECUTE_METHOD;
typedef WMI_FUNCTION_CONTROL_CALLBACK *PWMI_FUNCTION_CONTROL;
/* WMI library context */
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;
typedef WMILIB_CONTEXT *PWMILIB_CONTEXT;
/* Functions in WMILIB.SYS */
#if (NTDDI_VERSION >= 0x05000000)
NTSTATUS NTAPI WmiCompleteRequest( PDEVICE_OBJECT, PIRP, NTSTATUS, ULONG, CCHAR );
NTSTATUS NTAPI WmiFireEvent( PDEVICE_OBJECT, LPGUID, ULONG, ULONG, PVOID );
NTSTATUS NTAPI WmiSystemControl( PWMILIB_CONTEXT, PDEVICE_OBJECT, PIRP, PSYSCTL_IRP_DISPOSITION );
#endif
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* _WMILIB_ */