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>