187 lines
4.5 KiB
Plaintext
187 lines
4.5 KiB
Plaintext
//***************************************************************************
|
|
//
|
|
// 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;
|
|
};
|
|
|
|
|
|
};
|
|
|
|
|