include: Define IWbemClassObject.
diff --git a/include/wbemcli.idl b/include/wbemcli.idl
index ffd2b11..a339ab5 100644
--- a/include/wbemcli.idl
+++ b/include/wbemcli.idl
@@ -19,6 +19,7 @@
cpp_quote("DEFINE_GUID(CLSID_WbemLocator, 0x4590f811,0x1d3A,0x11d0,0x89,0x1f,0x00,0xaa,0x00,0x4b,0x2e,0x24);")
cpp_quote("DEFINE_GUID(CLSID_WbemStatusCode, 0xeb87e1bd,0x3233,0x11d2,0xae,0xc9,0x00,0xc0,0x4f,0xb6,0x88,0x20);")
+import "oaidl.idl";
import "objidl.idl";
interface IWbemContext;
@@ -28,6 +29,7 @@
interface IWbemObjectSink;
interface IWbemClassObject;
interface IEnumWbemClassObject;
+interface IWbemQualifierSet;
typedef [v1_enum] enum tag_WBEMSTATUS
{
@@ -174,6 +176,37 @@
WBEM_E_PROVIDER_DISABLED = 0x8004108a
} WBEMSTATUS;
+typedef [v1_enum] enum tag_WBEM_TIMEOUT_TYPE
+{
+ WBEM_NO_WAIT = 0,
+ WBEM_INFINITE = 0xffffffff
+} WBEM_TIMEOUT_TYPE;
+
+typedef [v1_enum] enum tag_CIMTYPE_ENUMERATION
+{
+ CIM_ILLEGAL = 0xfff,
+ CIM_EMPTY = 0,
+ CIM_SINT16 = 2,
+ CIM_SINT32 = 3,
+ CIM_REAL32 = 4,
+ CIM_REAL64 = 5,
+ CIM_STRING = 8,
+ CIM_BOOLEAN = 11,
+ CIM_OBJECT = 13,
+ CIM_SINT8 = 16,
+ CIM_UINT8 = 17,
+ CIM_UINT16 = 18,
+ CIM_UINT32 = 19,
+ CIM_SINT64 = 20,
+ CIM_UINT64 = 21,
+ CIM_DATETIME = 101,
+ CIM_REFERENCE = 102,
+ CIM_CHAR16 = 103,
+ CIM_FLAG_ARRAY = 0x2000
+} CIMTYPE_ENUMERATION;
+
+typedef long CIMTYPE;
+
[
object,
restricted,
@@ -411,3 +444,113 @@
[in] long lTimeout,
[in] ULONG nCount);
};
+
+[
+ object,
+ restricted,
+ local,
+ uuid(dc12a681-737f-11cf-884d-00aa004b2e24)
+]
+interface IWbemClassObject : IUnknown
+{
+ HRESULT GetQualifierSet(
+ [out] IWbemQualifierSet **ppQualSet);
+
+ HRESULT Get(
+ [in,string] LPCWSTR wszName,
+ [in] long lFlags,
+ [out] VARIANT *pVal,
+ [out] CIMTYPE *pType,
+ [out] long *plFlavor);
+
+ HRESULT Put(
+ [in,string] LPCWSTR wszName,
+ [in] long lFlags,
+ [in] VARIANT *pVal,
+ [in] CIMTYPE Type);
+
+ HRESULT Delete(
+ [in,string] LPCWSTR wszName);
+
+ HRESULT GetNames(
+ [in,string] LPCWSTR wszQualifierName,
+ [in] long lFlags,
+ [in] VARIANT *pQualifierVal,
+ [out] SAFEARRAY *pNames);
+
+ HRESULT BeginEnumeration(
+ [in] long lEnumFlags);
+
+ HRESULT Next(
+ [in] long lFlags,
+ [out] BSTR *strName,
+ [out] VARIANT *pVal,
+ [out] CIMTYPE *pType,
+ [out] long *plFlavor);
+
+ HRESULT EndEnumeration();
+
+ HRESULT GetPropertyQualifierSet(
+ [in,string] LPCWSTR wszProperty,
+ [out] IWbemQualifierSet **ppQualSet);
+
+ HRESULT Clone(
+ [out] IWbemClassObject **ppCopy);
+
+ HRESULT GetObjectText(
+ [in] long lFlags,
+ [out] BSTR *pstrObjectText);
+
+ HRESULT SpawnDerivedClass(
+ [in] long lFlags,
+ [out] IWbemClassObject **ppNewClass);
+
+ HRESULT SpawnInstance(
+ [in] long lFlags,
+ [out] IWbemClassObject **ppNewInstance);
+
+ HRESULT CompareTo(
+ [in] long lFlags,
+ [in] IWbemClassObject *pCompareTo);
+
+ HRESULT GetPropertyOrigin(
+ [in,string] LPCWSTR wszName,
+ [out] BSTR *pstrClassName);
+
+ HRESULT InheritsFrom(
+ [in] LPCWSTR strAncestor);
+
+ HRESULT GetMethod(
+ [in,string] LPCWSTR wszName,
+ [in] long lFlags,
+ [out] IWbemClassObject **ppInSignature,
+ [out] IWbemClassObject **ppOutSignature);
+
+ HRESULT PutMethod(
+ [in,string] LPCWSTR wszName,
+ [in] long lFlags,
+ [in] IWbemClassObject *pInSignature,
+ [in] IWbemClassObject *pOutSignature);
+
+ HRESULT DeleteMethod(
+ [in,string] LPCWSTR wszName);
+
+ HRESULT BeginMethodEnumeration(
+ [in] long lEnumFlags);
+
+ HRESULT NextMethod(
+ [in] long lFlags,
+ [out] BSTR *pstrName,
+ [out] IWbemClassObject **ppInSignature,
+ [out] IWbemClassObject **ppOutSignature);
+
+ HRESULT EndMethodEnumeration();
+
+ HRESULT GetMethodQualifierSet(
+ [in,string] LPCWSTR wszMethod,
+ [out] IWbemQualifierSet **ppQualSet);
+
+ HRESULT GetMethodOrigin(
+ [in,string] LPCWSTR wszMethodName,
+ [out] BSTR *pstrClassName);
+}