2025-04-27 07:49:33 -04:00

129 lines
4.7 KiB
C++

#ifndef CWMIXMLServices_H
#define CWMIXMLServices_H
class CWMIXMLEnumWbemClassObject : public IWmiXMLEnumWbemClassObject
{
private:
long m_ReferenceCount ;
IEnumWbemClassObject *m_pEnum;
public:
CWMIXMLEnumWbemClassObject(IEnumWbemClassObject *pEnum);
virtual ~CWMIXMLEnumWbemClassObject();
// Members of IUnknown
STDMETHODIMP QueryInterface (REFIID iid, LPVOID FAR *iplpv);
STDMETHODIMP_(ULONG) AddRef();
STDMETHODIMP_(ULONG) Release();
// Members of IWmiXMLEnumWbemClassObject
HRESULT STDMETHODCALLTYPE Next(
/* [in] */ DWORD_PTR hToken,
/* [in] */ long lTimeout,
/* [in] */ ULONG uCount,
/* [out, size_is(uCount), length_is(*puReturned)] */ IWbemClassObject** apObjects,
/*[out] */ ULONG* puReturned
);
HRESULT STDMETHODCALLTYPE FreeToken(
/* [in] */ DWORD_PTR hToken);
};
class CWMIXMLServices : public IWmiXMLWbemServices
{
private:
long m_ReferenceCount ;
IWbemServices *m_pServices;
public:
CWMIXMLServices(IWbemServices *pServices);
virtual ~CWMIXMLServices();
// Members of IUnknown
STDMETHODIMP QueryInterface (REFIID iid, LPVOID FAR *iplpv);
STDMETHODIMP_(ULONG) AddRef();
STDMETHODIMP_(ULONG) Release();
// Members of IWmiXMLServices
virtual HRESULT STDMETHODCALLTYPE GetObject(
/* [in] */ DWORD_PTR hToken,
/* [in] */ const BSTR strObjectPath,
/* [in] */ long lFlags,
/* [in] */ IWbemContext __RPC_FAR *pCtx,
/* [unique][in][out] */ IWbemClassObject __RPC_FAR *__RPC_FAR *ppObject,
/* [unique][in][out] */ IWbemCallResult __RPC_FAR *__RPC_FAR *ppCallResult);
virtual HRESULT STDMETHODCALLTYPE PutClass(
/* [in] */ DWORD_PTR hToken,
/* [in] */ IWbemClassObject __RPC_FAR *pObject,
/* [in] */ long lFlags,
/* [in] */ IWbemContext __RPC_FAR *pCtx,
/* [unique][in][out] */ IWbemCallResult __RPC_FAR *__RPC_FAR *ppCallResult);
virtual HRESULT STDMETHODCALLTYPE DeleteClass(
/* [in] */ DWORD_PTR hToken,
/* [in] */ const BSTR strClass,
/* [in] */ long lFlags,
/* [in] */ IWbemContext __RPC_FAR *pCtx,
/* [unique][in][out] */ IWbemCallResult __RPC_FAR *__RPC_FAR *ppCallResult);
virtual HRESULT STDMETHODCALLTYPE CreateClassEnum(
/* [in] */ DWORD_PTR hToken,
/* [in] */ const BSTR strSuperclass,
/* [in] */ long lFlags,
/* [in] */ IWbemContext __RPC_FAR *pCtx,
/* [out] */ IWmiXMLEnumWbemClassObject __RPC_FAR *__RPC_FAR *ppEnum);
virtual HRESULT STDMETHODCALLTYPE PutInstance(
/* [in] */ DWORD_PTR hToken,
/* [in] */ IWbemClassObject __RPC_FAR *pInst,
/* [in] */ long lFlags,
/* [in] */ IWbemContext __RPC_FAR *pCtx,
/* [unique][in][out] */ IWbemCallResult __RPC_FAR *__RPC_FAR *ppCallResult);
virtual HRESULT STDMETHODCALLTYPE DeleteInstance(
/* [in] */ DWORD_PTR hToken,
/* [in] */ const BSTR strObjectPath,
/* [in] */ long lFlags,
/* [in] */ IWbemContext __RPC_FAR *pCtx,
/* [unique][in][out] */ IWbemCallResult __RPC_FAR *__RPC_FAR *ppCallResult);
virtual HRESULT STDMETHODCALLTYPE CreateInstanceEnum(
/* [in] */ DWORD_PTR hToken,
/* [in] */ const BSTR strClass,
/* [in] */ long lFlags,
/* [in] */ IWbemContext __RPC_FAR *pCtx,
/* [out] */ IWmiXMLEnumWbemClassObject __RPC_FAR *__RPC_FAR *ppEnum);
virtual HRESULT STDMETHODCALLTYPE ExecQuery(
/* [in] */ DWORD_PTR hToken,
/* [in] */ const BSTR strQueryLanguage,
/* [in] */ const BSTR strQuery,
/* [in] */ long lFlags,
/* [in] */ IWbemContext __RPC_FAR *pCtx,
/* [out] */ IWmiXMLEnumWbemClassObject __RPC_FAR *__RPC_FAR *ppEnum);
virtual HRESULT STDMETHODCALLTYPE ExecMethod(
/* [in] */ DWORD_PTR hToken,
/* [in] */ const BSTR strObjectPath,
/* [in] */ const BSTR strMethodName,
/* [in] */ long lFlags,
/* [in] */ IWbemContext __RPC_FAR *pCtx,
/* [in] */ IWbemClassObject __RPC_FAR *pInParams,
/* [unique][in][out] */ IWbemClassObject __RPC_FAR *__RPC_FAR *ppOutParams,
/* [unique][in][out] */ IWbemCallResult __RPC_FAR *__RPC_FAR *ppCallResult);
virtual HRESULT STDMETHODCALLTYPE FreeToken(
/* [in] */ DWORD_PTR hToken);
};
#endif // #ifndef CWMIXMLServices_H