//*************************************************************************** // // Copyright (c) 1997-1999 Microsoft Corporation // // wmixmlst.IDL // // //*************************************************************************** import "unknwn.idl"; import "wbemcli.idl"; #define OPTIONAL in, unique // This interface is a special wrapper around IEnumWbemClassObject with an added token for each argument [ object, uuid(BB31240F-D9DC-11d3-93FC-00805F853771), helpstring("WMI XML IEnumWbemClassObject") ] interface IWmiXMLEnumWbemClassObject : IUnknown { HRESULT Next( [in] DWORD_PTR hToken, [in] long lTimeout, [in] ULONG uCount, [out, size_is(uCount), length_is(*puReturned)] IWbemClassObject** apObjects, [out] ULONG* puReturned ); HRESULT FreeToken( [in] DWORD_PTR hToken); }; // This interface is a special wrapper around IWbemServices with an added token for each argument [ object, uuid(BB31240E-D9DC-11d3-93FC-00805F853771), helpstring("WMI XML IWbemService") ] interface IWmiXMLWbemServices: IUnknown { // Classes and instances. // ====================== HRESULT GetObject( [in] DWORD_PTR hToken, [in] const BSTR strObjectPath, [in] long lFlags, [in] IWbemContext* pCtx, [out, OPTIONAL] IWbemClassObject** ppObject, [out, OPTIONAL] IWbemCallResult** ppCallResult ); // Class manipulation. // =================== HRESULT PutClass( [in] DWORD_PTR hToken, [in] IWbemClassObject* pObject, [in] long lFlags, [in] IWbemContext* pCtx, [out, OPTIONAL] IWbemCallResult** ppCallResult ); HRESULT DeleteClass( [in] DWORD_PTR hToken, [in] const BSTR strClass, [in] long lFlags, [in] IWbemContext* pCtx, [out, OPTIONAL] IWbemCallResult** ppCallResult ); HRESULT CreateClassEnum( [in] DWORD_PTR hToken, [in] const BSTR strSuperclass, [in] long lFlags, [in] IWbemContext* pCtx, [out] IWmiXMLEnumWbemClassObject** ppEnum ); // Instances. // ========== HRESULT PutInstance( [in] DWORD_PTR hToken, [in] IWbemClassObject* pInst, [in] long lFlags, [in] IWbemContext* pCtx, [out, OPTIONAL] IWbemCallResult** ppCallResult ); HRESULT DeleteInstance( [in] DWORD_PTR hToken, [in] const BSTR strObjectPath, [in] long lFlags, [in] IWbemContext* pCtx, [out, OPTIONAL] IWbemCallResult** ppCallResult ); HRESULT CreateInstanceEnum( [in] DWORD_PTR hToken, [in] const BSTR strClass, [in] long lFlags, [in] IWbemContext* pCtx, [out] IWmiXMLEnumWbemClassObject** ppEnum ); // Queries. // ======== HRESULT ExecQuery( [in] DWORD_PTR hToken, [in] const BSTR strQueryLanguage, [in] const BSTR strQuery, [in] long lFlags, [in] IWbemContext* pCtx, [out] IWmiXMLEnumWbemClassObject** ppEnum ); // Methods // ======= HRESULT ExecMethod( [in] DWORD_PTR hToken, [in] const BSTR strObjectPath, [in] const BSTR strMethodName, [in] long lFlags, [in] IWbemContext* pCtx, [in] IWbemClassObject* pInParams, [out, OPTIONAL] IWbemClassObject** ppOutParams, [out, OPTIONAL] IWbemCallResult** ppCallResult ); HRESULT FreeToken( [in] DWORD_PTR hToken); }; // This interface is the for the pluggable WMI XML Transport Extension [ object, uuid(2CA700A4-9E23-11d3-93EF-00805F853771), helpstring("WMI XML Transport") ] interface IWmiXMLTransport: IUnknown { [ helpstring("Retreives the HTTP method on the request packet") ] HRESULT ConnectUsingToken( [in] DWORD_PTR hToken, [in] const BSTR strNetworkResource, [in] const BSTR strLocale, [in] long lSecurityFlags, [in] const BSTR strAuthority, [in] IWbemContext* pCtx, [out] IWmiXMLWbemServices** ppNamespace ); [ helpstring("Retreives the ProcessID of WinMgmt") ] HRESULT GetPID( [out] DWORD *pdwPID ); }; [ uuid(2CA700A6-9E23-11d3-93EF-00805F853771) ] library WmiXMLTransportLib { [ uuid(2CA700A5-9E23-11d3-93EF-00805F853771), helpstring("WMI XML Stub object") ] coclass WmiXMLTransport { interface IWmiXMLTransport; }; };