+++ /dev/null
-/*
- * Copyright 2012 Hans Leidekker for CodeWeavers
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-import "oaidl.idl";
-
-interface IWbemPath;
-interface IWbemPathKeyList;
-
-typedef [v1_enum] enum tag_WBEM_PATH_STATUS_FLAG
-{
- WBEMPATH_INFO_ANON_LOCAL_MACHINE = 0x1,
- WBEMPATH_INFO_HAS_MACHINE_NAME = 0x2,
- WBEMPATH_INFO_IS_CLASS_REF = 0x4,
- WBEMPATH_INFO_IS_INST_REF = 0x8,
- WBEMPATH_INFO_HAS_SUBSCOPES = 0x10,
- WBEMPATH_INFO_IS_COMPOUND = 0x20,
- WBEMPATH_INFO_HAS_V2_REF_PATHS = 0x40,
- WBEMPATH_INFO_HAS_IMPLIED_KEY = 0x80,
- WBEMPATH_INFO_CONTAINS_SINGLETON = 0x100,
- WBEMPATH_INFO_V1_COMPLIANT = 0x200,
- WBEMPATH_INFO_V2_COMPLIANT = 0x400,
- WBEMPATH_INFO_CIM_COMPLIANT = 0x800,
- WBEMPATH_INFO_IS_SINGLETON = 0x1000,
- WBEMPATH_INFO_IS_PARENT = 0x2000,
- WBEMPATH_INFO_SERVER_NAMESPACE_ONLY = 0x4000,
- WBEMPATH_INFO_NATIVE_PATH = 0x8000,
- WBEMPATH_INFO_WMI_PATH = 0x10000,
- WBEMPATH_INFO_PATH_HAD_SERVER = 0x20000
-} tag_WBEM_PATH_STATUS_FLAG;
-
-typedef [v1_enum] enum tag_WBEM_PATH_CREATE_FLAG
-{
- WBEMPATH_CREATE_ACCEPT_RELATIVE = 0x1,
- WBEMPATH_CREATE_ACCEPT_ABSOLUTE = 0x2,
- WBEMPATH_CREATE_ACCEPT_ALL = 0x4,
- WBEMPATH_TREAT_SINGLE_IDENT_AS_NS = 0x8
-} tag_WBEM_PATH_CREATE_FLAG;
-
-typedef [v1_enum] enum tag_WBEM_GET_TEXT_FLAGS
-{
- WBEMPATH_COMPRESSED = 0x1,
- WBEMPATH_GET_RELATIVE_ONLY = 0x2,
- WBEMPATH_GET_SERVER_TOO = 0x4,
- WBEMPATH_GET_SERVER_AND_NAMESPACE_ONLY = 0x8,
- WBEMPATH_GET_NAMESPACE_ONLY = 0x10,
- WBEMPATH_GET_ORIGINAL = 0x20
-} tag_WBEM_GET_TEXT_FLAGS;
-
-[
- local,
- object,
- uuid(9ae62877-7544-4bb0-aa26-a13824659ed6)
-]
-interface IWbemPathKeyList : IUnknown
-{
- HRESULT GetCount(
- [out] ULONG *puKeyCount);
-
- HRESULT SetKey(
- [in,string] LPCWSTR wszName,
- [in] ULONG uFlags,
- [in] ULONG uCimType,
- [in] LPVOID pKeyVal);
-
- HRESULT SetKey2(
- [in,string] LPCWSTR wszName,
- [in] ULONG uFlags,
- [in] ULONG uCimType,
- [in] VARIANT *pKeyVal);
-
- HRESULT GetKey(
- [in] ULONG uKeyIx,
- [in] ULONG uFlags,
- [in,out] ULONG *puNameBufSize,
- [in,out] LPWSTR pszKeyName,
- [in,out] ULONG *puKeyValBufSize,
- [in,out] LPVOID pKeyVal,
- [out] ULONG *puApparentCimType);
-
- HRESULT GetKey2(
- [in] ULONG uKeyIx,
- [in] ULONG uFlags,
- [in,out] ULONG *puNameBufSize,
- [in,out] LPWSTR pszKeyName,
- [in,out] VARIANT *pKeyValue,
- [out] ULONG *puApparentCimType);
-
- HRESULT RemoveKey(
- [in,string] LPCWSTR wszName,
- [in] ULONG uFlags);
-
- HRESULT RemoveAllKeys(
- [in] ULONG uFlags);
-
- HRESULT MakeSingleton([in] boolean bSet);
-
- HRESULT GetInfo(
- [in] ULONG uRequestedInfo,
- [out] ULONGLONG *puResponse);
-
- HRESULT GetText(
- [in] long lFlags,
- [in,out] ULONG *puBuffLength,
- [in,out,string] LPWSTR pszText);
-};
-
-cpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
-cpp_quote("#undef GetClassName")
-cpp_quote("#endif")
-
-[
- local,
- object,
- uuid(3bc15af2-736c-477e-9e51-238af8667dcc)
-]
-interface IWbemPath : IUnknown
-{
- HRESULT SetText(
- [in] ULONG uMode,
- [in] LPCWSTR pszPath);
-
- HRESULT GetText(
- [in] long lFlags,
- [in,out] ULONG *puBuffLength,
- [in,out,string] LPWSTR pszText);
-
- HRESULT GetInfo(
- [in] ULONG uRequestedInfo,
- [out] ULONGLONG *puResponse);
-
- HRESULT SetServer(
- [in,string] LPCWSTR Name);
-
- HRESULT GetServer(
- [in,out] ULONG *puNameBufLength,
- [in,out,string] LPWSTR pName);
-
- HRESULT GetNamespaceCount(
- [out] ULONG *puCount);
-
- HRESULT SetNamespaceAt(
- [in] ULONG uIndex,
- [in,string] LPCWSTR pszName);
-
- HRESULT GetNamespaceAt(
- [in] ULONG uIndex,
- [in,out] ULONG *puNameBufLength,
- [in,out,string] LPWSTR pName);
-
- HRESULT RemoveNamespaceAt(
- [in] ULONG uIndex);
-
- HRESULT RemoveAllNamespaces();
-
- HRESULT GetScopeCount(
- [out] ULONG *puCount);
-
- HRESULT SetScope(
- [in] ULONG uIndex,
- [in] LPWSTR pszClass);
-
- HRESULT SetScopeFromText(
- [in] ULONG uIndex,
- [in] LPWSTR pszText);
-
- HRESULT GetScope(
- [in] ULONG uIndex,
- [in,out] ULONG *puClassNameBufSize,
- [in,out] LPWSTR pszClass,
- [out] IWbemPathKeyList **pKeyList);
-
- HRESULT GetScopeAsText(
- [in] ULONG uIndex,
- [in,out] ULONG *puTextBufSize,
- [in,out] LPWSTR pszText);
-
- HRESULT RemoveScope(
- [in] ULONG uIndex);
-
- HRESULT RemoveAllScopes();
-
- HRESULT SetClassName(
- [in,string] LPCWSTR Name);
-
- HRESULT GetClassName(
- [in,out] ULONG *puBuffLength,
- [in,out,string] LPWSTR pszName);
-
- HRESULT GetKeyList(
- [out] IWbemPathKeyList **pOut);
-
- HRESULT CreateClassPart(
- [in] long lFlags,
- [in,string] LPCWSTR Name);
-
- HRESULT DeleteClassPart(
- [in] long lFlags);
-
- BOOL IsRelative(
- [in,string] LPWSTR wszMachine,
- [in,string] LPWSTR wszNamespace);
-
- BOOL IsRelativeOrChild(
- [in,string] LPWSTR wszMachine,
- [in,string] LPWSTR wszNamespace,
- [in] long lFlags);
-
- BOOL IsLocal(
- [in,string] LPCWSTR wszMachine);
-
- BOOL IsSameClassName(
- [in,string] LPCWSTR wszClass);
-};
-
-[
- uuid(cf4cc405-e2c5-4ddd-b3ce-5e7582d8c9fa)
-]
-coclass WbemDefPath
-{
- interface IWbemPath;
-};