Annotation of embedaddon/smartmontools/os_win32/wbemcli_small.h, revision 1.1

1.1     ! misho       1: /*
        !             2:  * os_win32/wbemcli_small.h
        !             3:  *
        !             4:  * Home page of code is: http://smartmontools.sourceforge.net
        !             5:  *
        !             6:  * This file was extracted from wbemcli.h of the w64 mingw-runtime package
        !             7:  * (http://mingw-w64.sourceforge.net/). See original copyright below.
        !             8:  */
        !             9: 
        !            10: /**
        !            11:  * This file has no copyright assigned and is placed in the Public Domain.
        !            12:  * This file is part of the w64 mingw-runtime package.
        !            13:  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
        !            14:  */
        !            15: #ifndef __REQUIRED_RPCNDR_H_VERSION__
        !            16: #define __REQUIRED_RPCNDR_H_VERSION__ 475
        !            17: #endif
        !            18: 
        !            19: #include "rpc.h"
        !            20: #include "rpcndr.h"
        !            21: 
        !            22: #ifndef __RPCNDR_H_VERSION__
        !            23: #error This stub requires an updated version of <rpcndr.h>
        !            24: #endif
        !            25: 
        !            26: #include "windows.h"
        !            27: #include "ole2.h"
        !            28: 
        !            29: #ifndef __wbemcli_h__
        !            30: #define __wbemcli_h__
        !            31: 
        !            32: #if !defined(__cplusplus) || defined(CINTERFACE)
        !            33: #error C++ interfaces only
        !            34: #endif
        !            35: 
        !            36: typedef struct IWbemQualifierSet IWbemQualifierSet;
        !            37: typedef struct IWbemObjectSink IWbemObjectSink;
        !            38: typedef struct IEnumWbemClassObject IEnumWbemClassObject;
        !            39: typedef struct IWbemCallResult IWbemCallResult;
        !            40: typedef struct IWbemContext IWbemContext;
        !            41: 
        !            42: extern "C" {
        !            43: 
        !            44:   typedef enum tag_WBEM_GENERIC_FLAG_TYPE {
        !            45:     WBEM_FLAG_RETURN_IMMEDIATELY = 0x10,WBEM_FLAG_RETURN_WBEM_COMPLETE = 0,WBEM_FLAG_BIDIRECTIONAL = 0,WBEM_FLAG_FORWARD_ONLY = 0x20,
        !            46:     WBEM_FLAG_NO_ERROR_OBJECT = 0x40,WBEM_FLAG_RETURN_ERROR_OBJECT = 0,WBEM_FLAG_SEND_STATUS = 0x80,WBEM_FLAG_DONT_SEND_STATUS = 0,
        !            47:     WBEM_FLAG_ENSURE_LOCATABLE = 0x100,WBEM_FLAG_DIRECT_READ = 0x200,WBEM_FLAG_SEND_ONLY_SELECTED = 0,WBEM_RETURN_WHEN_COMPLETE = 0,
        !            48:     WBEM_RETURN_IMMEDIATELY = 0x10,WBEM_MASK_RESERVED_FLAGS = 0x1f000,WBEM_FLAG_USE_AMENDED_QUALIFIERS = 0x20000,
        !            49:     WBEM_FLAG_STRONG_VALIDATION = 0x100000
        !            50:   } WBEM_GENERIC_FLAG_TYPE;
        !            51: 
        !            52:   typedef long CIMTYPE;
        !            53: 
        !            54:   struct IWbemClassObject : public IUnknown {
        !            55:   public:
        !            56:     virtual HRESULT WINAPI GetQualifierSet(IWbemQualifierSet **ppQualSet) = 0;
        !            57:     virtual HRESULT WINAPI Get(LPCWSTR wszName,long lFlags,VARIANT *pVal,CIMTYPE *pType,long *plFlavor) = 0;
        !            58:     virtual HRESULT WINAPI Put(LPCWSTR wszName,long lFlags,VARIANT *pVal,CIMTYPE Type) = 0;
        !            59:     virtual HRESULT WINAPI Delete(LPCWSTR wszName) = 0;
        !            60:     virtual HRESULT WINAPI GetNames(LPCWSTR wszQualifierName,long lFlags,VARIANT *pQualifierVal,SAFEARRAY **pNames) = 0;
        !            61:     virtual HRESULT WINAPI BeginEnumeration(long lEnumFlags) = 0;
        !            62:     virtual HRESULT WINAPI Next(long lFlags,BSTR *strName,VARIANT *pVal,CIMTYPE *pType,long *plFlavor) = 0;
        !            63:     virtual HRESULT WINAPI EndEnumeration(void) = 0;
        !            64:     virtual HRESULT WINAPI GetPropertyQualifierSet(LPCWSTR wszProperty,IWbemQualifierSet **ppQualSet) = 0;
        !            65:     virtual HRESULT WINAPI Clone(IWbemClassObject **ppCopy) = 0;
        !            66:     virtual HRESULT WINAPI GetObjectText(long lFlags,BSTR *pstrObjectText) = 0;
        !            67:     virtual HRESULT WINAPI SpawnDerivedClass(long lFlags,IWbemClassObject **ppNewClass) = 0;
        !            68:     virtual HRESULT WINAPI SpawnInstance(long lFlags,IWbemClassObject **ppNewInstance) = 0;
        !            69:     virtual HRESULT WINAPI CompareTo(long lFlags,IWbemClassObject *pCompareTo) = 0;
        !            70:     virtual HRESULT WINAPI GetPropertyOrigin(LPCWSTR wszName,BSTR *pstrClassName) = 0;
        !            71:     virtual HRESULT WINAPI InheritsFrom(LPCWSTR strAncestor) = 0;
        !            72:     virtual HRESULT WINAPI GetMethod(LPCWSTR wszName,long lFlags,IWbemClassObject **ppInSignature,IWbemClassObject **ppOutSignature) = 0;
        !            73:     virtual HRESULT WINAPI PutMethod(LPCWSTR wszName,long lFlags,IWbemClassObject *pInSignature,IWbemClassObject *pOutSignature) = 0;
        !            74:     virtual HRESULT WINAPI DeleteMethod(LPCWSTR wszName) = 0;
        !            75:     virtual HRESULT WINAPI BeginMethodEnumeration(long lEnumFlags) = 0;
        !            76:     virtual HRESULT WINAPI NextMethod(long lFlags,BSTR *pstrName,IWbemClassObject **ppInSignature,IWbemClassObject **ppOutSignature) = 0;
        !            77:     virtual HRESULT WINAPI EndMethodEnumeration(void) = 0;
        !            78:     virtual HRESULT WINAPI GetMethodQualifierSet(LPCWSTR wszMethod,IWbemQualifierSet **ppQualSet) = 0;
        !            79:     virtual HRESULT WINAPI GetMethodOrigin(LPCWSTR wszMethodName,BSTR *pstrClassName) = 0;
        !            80:   };
        !            81: 
        !            82:   struct IWbemServices : public IUnknown {
        !            83:   public:
        !            84:     virtual HRESULT WINAPI OpenNamespace(const BSTR strNamespace,long lFlags,IWbemContext *pCtx,IWbemServices **ppWorkingNamespace,IWbemCallResult **ppResult) = 0;
        !            85:     virtual HRESULT WINAPI CancelAsyncCall(IWbemObjectSink *pSink) = 0;
        !            86:     virtual HRESULT WINAPI QueryObjectSink(long lFlags,IWbemObjectSink **ppResponseHandler) = 0;
        !            87:     virtual HRESULT WINAPI GetObject(const BSTR strObjectPath,long lFlags,IWbemContext *pCtx,IWbemClassObject **ppObject,IWbemCallResult **ppCallResult) = 0;
        !            88:     virtual HRESULT WINAPI GetObjectAsync(const BSTR strObjectPath,long lFlags,IWbemContext *pCtx,IWbemObjectSink *pResponseHandler) = 0;
        !            89:     virtual HRESULT WINAPI PutClass(IWbemClassObject *pObject,long lFlags,IWbemContext *pCtx,IWbemCallResult **ppCallResult) = 0;
        !            90:     virtual HRESULT WINAPI PutClassAsync(IWbemClassObject *pObject,long lFlags,IWbemContext *pCtx,IWbemObjectSink *pResponseHandler) = 0;
        !            91:     virtual HRESULT WINAPI DeleteClass(const BSTR strClass,long lFlags,IWbemContext *pCtx,IWbemCallResult **ppCallResult) = 0;
        !            92:     virtual HRESULT WINAPI DeleteClassAsync(const BSTR strClass,long lFlags,IWbemContext *pCtx,IWbemObjectSink *pResponseHandler) = 0;
        !            93:     virtual HRESULT WINAPI CreateClassEnum(const BSTR strSuperclass,long lFlags,IWbemContext *pCtx,IEnumWbemClassObject **ppEnum) = 0;
        !            94:     virtual HRESULT WINAPI CreateClassEnumAsync(const BSTR strSuperclass,long lFlags,IWbemContext *pCtx,IWbemObjectSink *pResponseHandler) = 0;
        !            95:     virtual HRESULT WINAPI PutInstance(IWbemClassObject *pInst,long lFlags,IWbemContext *pCtx,IWbemCallResult **ppCallResult) = 0;
        !            96:     virtual HRESULT WINAPI PutInstanceAsync(IWbemClassObject *pInst,long lFlags,IWbemContext *pCtx,IWbemObjectSink *pResponseHandler) = 0;
        !            97:     virtual HRESULT WINAPI DeleteInstance(const BSTR strObjectPath,long lFlags,IWbemContext *pCtx,IWbemCallResult **ppCallResult) = 0;
        !            98:     virtual HRESULT WINAPI DeleteInstanceAsync(const BSTR strObjectPath,long lFlags,IWbemContext *pCtx,IWbemObjectSink *pResponseHandler) = 0;
        !            99:     virtual HRESULT WINAPI CreateInstanceEnum(const BSTR strFilter,long lFlags,IWbemContext *pCtx,IEnumWbemClassObject **ppEnum) = 0;
        !           100:     virtual HRESULT WINAPI CreateInstanceEnumAsync(const BSTR strFilter,long lFlags,IWbemContext *pCtx,IWbemObjectSink *pResponseHandler) = 0;
        !           101:     virtual HRESULT WINAPI ExecQuery(const BSTR strQueryLanguage,const BSTR strQuery,long lFlags,IWbemContext *pCtx,IEnumWbemClassObject **ppEnum) = 0;
        !           102:     virtual HRESULT WINAPI ExecQueryAsync(const BSTR strQueryLanguage,const BSTR strQuery,long lFlags,IWbemContext *pCtx,IWbemObjectSink *pResponseHandler) = 0;
        !           103:     virtual HRESULT WINAPI ExecNotificationQuery(const BSTR strQueryLanguage,const BSTR strQuery,long lFlags,IWbemContext *pCtx,IEnumWbemClassObject **ppEnum) = 0;
        !           104:     virtual HRESULT WINAPI ExecNotificationQueryAsync(const BSTR strQueryLanguage,const BSTR strQuery,long lFlags,IWbemContext *pCtx,IWbemObjectSink *pResponseHandler) = 0;
        !           105:     virtual HRESULT WINAPI ExecMethod(const BSTR strObjectPath,const BSTR strMethodName,long lFlags,IWbemContext *pCtx,IWbemClassObject *pInParams,IWbemClassObject **ppOutParams,IWbemCallResult **ppCallResult) = 0;
        !           106:     virtual HRESULT WINAPI ExecMethodAsync(const BSTR strObjectPath,const BSTR strMethodName,long lFlags,IWbemContext *pCtx,IWbemClassObject *pInParams,IWbemObjectSink *pResponseHandler) = 0;
        !           107:   };
        !           108: 
        !           109:   EXTERN_C const IID IID_IWbemLocator;
        !           110:   struct IWbemLocator : public IUnknown {
        !           111:   public:
        !           112:     virtual HRESULT WINAPI ConnectServer(const BSTR strNetworkResource,const BSTR strUser,const BSTR strPassword,const BSTR strLocale,long lSecurityFlags,const BSTR strAuthority,IWbemContext *pCtx,IWbemServices **ppNamespace) = 0;
        !           113:   };
        !           114: 
        !           115:   struct IEnumWbemClassObject : public IUnknown {
        !           116:   public:
        !           117:     virtual HRESULT WINAPI Reset(void) = 0;
        !           118:     virtual HRESULT WINAPI Next(long lTimeout,ULONG uCount,IWbemClassObject **apObjects,ULONG *puReturned) = 0;
        !           119:     virtual HRESULT WINAPI NextAsync(ULONG uCount,IWbemObjectSink *pSink) = 0;
        !           120:     virtual HRESULT WINAPI Clone(IEnumWbemClassObject **ppEnum) = 0;
        !           121:     virtual HRESULT WINAPI Skip(long lTimeout,ULONG nCount) = 0;
        !           122:   };
        !           123: 
        !           124:   EXTERN_C const CLSID CLSID_WbemLocator;
        !           125: 
        !           126:   typedef enum tag_WBEM_CONNECT_OPTIONS {
        !           127:     WBEM_FLAG_CONNECT_REPOSITORY_ONLY = 0x40,WBEM_FLAG_CONNECT_USE_MAX_WAIT = 0x80,WBEM_FLAG_CONNECT_PROVIDERS = 0x100
        !           128:   } WBEM_CONNECT_OPTIONS;
        !           129: 
        !           130: }
        !           131: #endif

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>