ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

wmilib.h
Go to the documentation of this file.
00001 #pragma once
00002 
00003 #ifdef __cplusplus
00004 extern "C" {
00005 #endif
00006 
00007 typedef enum _WMIENABLEDISABLECONTROL {
00008   WmiEventControl,
00009   WmiDataBlockControl
00010 } WMIENABLEDISABLECONTROL, *PWMIENABLEDISABLECONTROL;
00011 
00012 typedef enum _SYSCTL_IRP_DISPOSITION {
00013   IrpProcessed,
00014   IrpNotCompleted,
00015   IrpNotWmi,
00016   IrpForward
00017 } SYSCTL_IRP_DISPOSITION, *PSYSCTL_IRP_DISPOSITION;
00018 
00019 typedef struct _WMIGUIDREGINFO {
00020   LPCGUID Guid;
00021   ULONG InstanceCount;
00022   ULONG Flags;
00023 } WMIGUIDREGINFO, *PWMIGUIDREGINFO;
00024 
00025 typedef NTSTATUS
00026 (NTAPI *PWMI_QUERY_REGINFO) (
00027   IN OUT PDEVICE_OBJECT DeviceObject,
00028   IN OUT PULONG RegFlags,
00029   IN OUT PUNICODE_STRING InstanceName,
00030   OUT PUNICODE_STRING *RegistryPath OPTIONAL,
00031   IN OUT PUNICODE_STRING MofResourceName,
00032   OUT PDEVICE_OBJECT *Pdo OPTIONAL);
00033 
00034 typedef NTSTATUS
00035 (NTAPI *PWMI_FUNCTION_CONTROL) (
00036   IN OUT PDEVICE_OBJECT DeviceObject,
00037   IN OUT PIRP Irp,
00038   IN ULONG GuidIndex,
00039   IN WMIENABLEDISABLECONTROL Function,
00040   IN BOOLEAN Enable);
00041 
00042 typedef NTSTATUS
00043 (NTAPI *PWMI_QUERY_DATABLOCK) (
00044   IN OUT PDEVICE_OBJECT DeviceObject,
00045   IN OUT PIRP Irp,
00046   IN ULONG GuidIndex,
00047   IN ULONG InstanceIndex,
00048   IN ULONG InstanceCount,
00049   OUT PULONG InstanceLengthArray OPTIONAL,
00050   IN ULONG BufferAvail,
00051   OUT PUCHAR Buffer OPTIONAL);
00052 
00053 typedef NTSTATUS
00054 (NTAPI *PWMI_EXECUTE_METHOD) (
00055   IN OUT PDEVICE_OBJECT DeviceObject,
00056   IN OUT PIRP Irp,
00057   IN ULONG GuidIndex,
00058   IN ULONG InstanceIndex,
00059   IN ULONG MethodId,
00060   IN ULONG InBufferSize,
00061   IN ULONG OutBufferSize,
00062   IN OUT PUCHAR Buffer);
00063 
00064 typedef NTSTATUS
00065 (NTAPI *PWMI_SET_DATABLOCK) (
00066   IN OUT PDEVICE_OBJECT DeviceObject,
00067   IN OUT PIRP Irp,
00068   IN ULONG GuidIndex,
00069   IN ULONG InstanceIndex,
00070   IN ULONG BufferSize,
00071   IN PUCHAR Buffer);
00072 
00073 typedef NTSTATUS
00074 (NTAPI *PWMI_SET_DATAITEM) (
00075   IN OUT PDEVICE_OBJECT DeviceObject,
00076   IN OUT PIRP Irp,
00077   IN ULONG GuidIndex,
00078   IN ULONG InstanceIndex,
00079   IN ULONG DataItemId,
00080   IN ULONG BufferSize,
00081   IN PUCHAR Buffer);
00082 
00083 typedef struct _WMILIB_CONTEXT {
00084   ULONG GuidCount;
00085   PWMIGUIDREGINFO GuidList;
00086   PWMI_QUERY_REGINFO QueryWmiRegInfo;
00087   PWMI_QUERY_DATABLOCK QueryWmiDataBlock;
00088   PWMI_SET_DATABLOCK SetWmiDataBlock;
00089   PWMI_SET_DATAITEM SetWmiDataItem;
00090   PWMI_EXECUTE_METHOD ExecuteWmiMethod;
00091   PWMI_FUNCTION_CONTROL WmiFunctionControl;
00092 } WMILIB_CONTEXT, *PWMILIB_CONTEXT;
00093 
00094 #if (NTDDI_VERSION >= NTDDI_WIN2K)
00095 
00096 NTSTATUS
00097 NTAPI
00098 WmiCompleteRequest(
00099   IN PDEVICE_OBJECT DeviceObject,
00100   IN OUT PIRP Irp,
00101   IN NTSTATUS Status,
00102   IN ULONG BufferUsed,
00103   IN CCHAR PriorityBoost);
00104 
00105 NTSTATUS
00106 NTAPI
00107 WmiSystemControl(
00108   IN PWMILIB_CONTEXT WmiLibInfo,
00109   IN PDEVICE_OBJECT DeviceObject,
00110   IN OUT PIRP Irp,
00111   OUT PSYSCTL_IRP_DISPOSITION IrpDisposition);
00112 
00113 NTSTATUS
00114 NTAPI
00115 WmiFireEvent(
00116   IN PDEVICE_OBJECT DeviceObject,
00117   IN LPCGUID Guid,
00118   IN ULONG InstanceIndex,
00119   IN ULONG EventDataSize,
00120   IN PVOID EventData);
00121 
00122 #endif /* (NTDDI_VERSION >= NTDDI_WIN2K) */
00123 
00124 #ifdef __cplusplus
00125 }
00126 #endif

Generated on Fri May 25 2012 04:29:05 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.