Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenwmilib.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
1.7.6.1
|