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