include: Add IWbemRefresher related interfaces.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49044
Signed-off-by: Vijay Kiran Kamuju <infyquest@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Vijay Kiran Kamuju 2020-04-29 12:50:40 +02:00 committed by Alexandre Julliard
parent c49fb1ecc9
commit 5d4db497ad
1 changed files with 151 additions and 0 deletions

View File

@ -255,6 +255,12 @@ typedef [v1_enum] enum tag_CIMTYPE_ENUMERATION
CIM_FLAG_ARRAY = 0x2000
} CIMTYPE_ENUMERATION;
typedef [v1_enum] enum tag_WBEM_REFRESHER_FLAGS
{
WBEM_FLAG_REFRESH_AUTO_RECONNECT = 0,
WBEM_FLAG_REFRESH_NO_AUTO_RECONNECT = 1
} WBEM_REFRESHER_FLAGS;
typedef long CIMTYPE;
[
@ -761,6 +767,141 @@ interface IWbemUnsecuredApartment : IUnsecuredApartment
[out] IWbemObjectSink **stub);
};
[
object,
restricted,
local,
uuid(49353c9a-516b-11d1-aea6-00c04fb68820)
]
interface IWbemObjectAccess : IWbemClassObject
{
HRESULT GetPropertyHandle(
[in, string] LPCWSTR wszPropertyName,
[out] CIMTYPE *pType,
[out] long *plHandle);
HRESULT WritePropertyValue(
[in] long lHandle,
[in] long lNumBytes,
[in, size_is(lNumBytes)] const byte *aData);
HRESULT ReadPropertyValue(
[in] long lHandle,
[in] long lBufferSize,
[out] long *plNumBytes,
[out, size_is(lBufferSize), length_is(*plNumBytes)] byte *aData);
HRESULT ReadDWORD(
[in] long lHandle,
[out] DWORD *pdw);
HRESULT WriteDWORD(
[in] long lHandle,
[in] DWORD dw);
HRESULT ReadQWORD(
[in] long lHandle,
[out] unsigned __int64 *pqw);
HRESULT WriteQWORD(
[in] long lHandle,
[in] unsigned __int64 qw);
HRESULT GetPropertyInfoByHandle(
[in] long lHandle,
[out] BSTR *pstrName,
[out] CIMTYPE *pType);
HRESULT Lock(
[in] long lFlags);
HRESULT Unlock(
[in] long lFlags);
};
[
object,
restricted,
local,
uuid(49353c99-516b-11d1-aea6-00c04fb68820)
]
interface IWbemRefresher : IUnknown
{
HRESULT Refresh(
[in] long lFlags);
};
[
object,
restricted,
local,
uuid(2705c288-79ae-11d2-b348-00105a1f8177)
]
interface IWbemHiPerfEnum : IUnknown
{
HRESULT AddObjects(
[in] long lFlags,
[in] ULONG uNumObjects,
[in, size_is(uNumObjects)] long *apIds,
[in, size_is(uNumObjects)] IWbemObjectAccess **apObj);
HRESULT RemoveObjects(
[in] long lFlags,
[in] ULONG uNumObjects,
[in, size_is(uNumObjects)] long *apIds);
HRESULT GetObjects(
[in] long lFlags,
[in] ULONG uNumObjects,
[out, size_is(uNumObjects), length_is(*puReturned)] IWbemObjectAccess **apObj,
[out] ULONG *puReturned);
HRESULT RemoveAll(
[in] long lFlags);
};
[
object,
restricted,
local,
uuid(49353c92-516b-11d1-aea6-00c04fb68820)
]
interface IWbemConfigureRefresher : IUnknown
{
HRESULT AddObjectByPath(
[in] IWbemServices *pNamespace,
[in, string] LPCWSTR wszPath,
[in] long lFlags,
[in] IWbemContext *pContext,
[out] IWbemClassObject **ppRefreshable,
[out] long *plId);
HRESULT AddObjectByTemplate(
[in] IWbemServices *pNamespace,
[in] IWbemClassObject *pTemplate,
[in] long lFlags,
[in] IWbemContext *pContext,
[out] IWbemClassObject **ppRefreshable,
[out] long *plId);
HRESULT AddRefresher(
[in] IWbemRefresher *pRefresher,
[in] long lFlags,
[out] long *plId);
HRESULT Remove(
[in] long lId,
[in] long lFlags);
HRESULT AddEnum(
[in] IWbemServices *pNamespace,
[in, string] LPCWSTR wszClassName,
[in] long lFlags,
[in] IWbemContext *pContext,
[out] IWbemHiPerfEnum **ppEnum,
[out] long *plId);
};
[
uuid(49bd2028-1523-11d1-ad79-00c04fd8fdff)
]
@ -785,3 +926,13 @@ coclass WbemStatusCodeText
{
interface IWbemStatusCodeText;
};
[
uuid(c71566f2-561e-11d1-ad87-00c04fd8fdff)
]
coclass WbemRefresher
{
interface IMarshal;
interface IWbemRefresher;
interface IWbemConfigureRefresher;
};