| /* | |
| * 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; | |
| }; |