Author: akhaldi Date: Wed Dec 4 20:44:14 2013 New Revision: 61225
URL: http://svn.reactos.org/svn/reactos?rev=61225&view=rev Log: [WBEMDISP] * Import from Wine 1.7.1. [PSDK] * Import wbemdisp.idl from Wine 1.7.1. CORE-7469
Added: trunk/reactos/dll/win32/wbemdisp/ (with props) trunk/reactos/dll/win32/wbemdisp/CMakeLists.txt (with props) trunk/reactos/dll/win32/wbemdisp/locator.c (with props) trunk/reactos/dll/win32/wbemdisp/main.c (with props) trunk/reactos/dll/win32/wbemdisp/wbemdisp.rc (with props) trunk/reactos/dll/win32/wbemdisp/wbemdisp.spec (with props) trunk/reactos/dll/win32/wbemdisp/wbemdisp_classes.idl (with props) trunk/reactos/dll/win32/wbemdisp/wbemdisp_classes.rgs (with props) trunk/reactos/dll/win32/wbemdisp/wbemdisp_private.h (with props) trunk/reactos/dll/win32/wbemdisp/wbemdisp_tlb.idl (with props) trunk/reactos/dll/win32/wbemdisp/wbemdisp_tlb.rgs (with props) trunk/reactos/include/psdk/wbemdisp.idl (with props) Modified: trunk/reactos/dll/win32/CMakeLists.txt trunk/reactos/include/psdk/CMakeLists.txt trunk/reactos/media/doc/README.WINE trunk/reactos/media/inf/syssetup.inf
Modified: trunk/reactos/dll/win32/CMakeLists.txt URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/CMakeLists.txt?re... ============================================================================== --- trunk/reactos/dll/win32/CMakeLists.txt [iso-8859-1] (original) +++ trunk/reactos/dll/win32/CMakeLists.txt [iso-8859-1] Wed Dec 4 20:44:14 2013 @@ -214,6 +214,7 @@ add_subdirectory(vbscript) add_subdirectory(vdmdbg) add_subdirectory(version) +add_subdirectory(wbemdisp) add_subdirectory(wbemprox) if(ARCH STREQUAL "i386") add_subdirectory(wdmaud.drv)
Propchange: trunk/reactos/dll/win32/wbemdisp/ ------------------------------------------------------------------------------ --- bugtraq:logregex (added) +++ bugtraq:logregex Wed Dec 4 20:44:14 2013 @@ -0,0 +1,2 @@ +([Ii]ssue|[Bb]ug)s? #?(\d+)(,? ?#?(\d+))*(,? ?(and |or )?#?(\d+))? +(\d+)
Propchange: trunk/reactos/dll/win32/wbemdisp/ ------------------------------------------------------------------------------ bugtraq:message = See issue #%BUGID% for more details.
Propchange: trunk/reactos/dll/win32/wbemdisp/ ------------------------------------------------------------------------------ bugtraq:url = http://www.reactos.org/bugzilla/show_bug.cgi?id=%BUGID%
Propchange: trunk/reactos/dll/win32/wbemdisp/ ------------------------------------------------------------------------------ tsvn:logminsize = 10
Added: trunk/reactos/dll/win32/wbemdisp/CMakeLists.txt URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wbemdisp/CMakeLis... ============================================================================== --- trunk/reactos/dll/win32/wbemdisp/CMakeLists.txt (added) +++ trunk/reactos/dll/win32/wbemdisp/CMakeLists.txt [iso-8859-1] Wed Dec 4 20:44:14 2013 @@ -0,0 +1,26 @@ + +add_definitions(-D__WINESRC__) +include_directories(${REACTOS_SOURCE_DIR}/include/reactos/wine) +spec2def(wbemdisp.dll wbemdisp.spec) + +list(APPEND SOURCE + locator.c + main.c + ${CMAKE_CURRENT_BINARY_DIR}/wbemdisp.def) + +add_idl_headers(wbemdisp_idlheader wbemdisp_classes.idl) +add_typelib(wbemdisp_tlb.idl) + +list(APPEND wbemdisp_rc_deps + ${CMAKE_CURRENT_SOURCE_DIR}/wbemdisp_classes.rgs + ${CMAKE_CURRENT_SOURCE_DIR}/wbemdisp_tlb.rgs + ${CMAKE_CURRENT_BINARY_DIR}/wbemdisp_tlb.tlb) + +set_source_files_properties(wbemdisp.rc PROPERTIES OBJECT_DEPENDS "${wbemdisp_rc_deps}") + +add_library(wbemdisp SHARED ${SOURCE} wbemdisp.rc) +set_module_type(wbemdisp win32dll) +target_link_libraries(wbemdisp wine) +add_dependencies(wbemdisp wbemdisp_idlheader) +add_importlibs(wbemdisp oleaut32 msvcrt kernel32 ntdll) +add_cd_file(TARGET wbemdisp DESTINATION reactos/system32/wbem FOR all)
Propchange: trunk/reactos/dll/win32/wbemdisp/CMakeLists.txt ------------------------------------------------------------------------------ svn:eol-style = native
Added: trunk/reactos/dll/win32/wbemdisp/locator.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wbemdisp/locator.... ============================================================================== --- trunk/reactos/dll/win32/wbemdisp/locator.c (added) +++ trunk/reactos/dll/win32/wbemdisp/locator.c [iso-8859-1] Wed Dec 4 20:44:14 2013 @@ -0,0 +1,266 @@ +/* + * Copyright 2013 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 + */ + +#define COBJMACROS + +#include "config.h" +#include <stdarg.h> + +#include "windef.h" +#include "winbase.h" +#include "objbase.h" +#include "wbemdisp.h" + +#include "wine/debug.h" +#include "wine/unicode.h" +#include "wbemdisp_private.h" + +WINE_DEFAULT_DEBUG_CHANNEL(wbemdisp); + +struct locator +{ + ISWbemLocator ISWbemLocator_iface; + LONG refs; +}; + +static inline struct locator *impl_from_ISWbemLocator( ISWbemLocator *iface ) +{ + return CONTAINING_RECORD( iface, struct locator, ISWbemLocator_iface ); +} + +static ULONG WINAPI locator_AddRef( + ISWbemLocator *iface ) +{ + struct locator *locator = impl_from_ISWbemLocator( iface ); + return InterlockedIncrement( &locator->refs ); +} + +static ULONG WINAPI locator_Release( + ISWbemLocator *iface ) +{ + struct locator *locator = impl_from_ISWbemLocator( iface ); + LONG refs = InterlockedDecrement( &locator->refs ); + if (!refs) + { + TRACE( "destroying %p\n", locator ); + heap_free( locator ); + } + return refs; +} + +static HRESULT WINAPI locator_QueryInterface( + ISWbemLocator *iface, + REFIID riid, + void **ppvObject ) +{ + struct locator *locator = impl_from_ISWbemLocator( iface ); + + TRACE( "%p, %s, %p\n", locator, debugstr_guid( riid ), ppvObject ); + + if (IsEqualGUID( riid, &IID_ISWbemLocator ) || + IsEqualGUID( riid, &IID_IDispatch ) || + IsEqualGUID( riid, &IID_IUnknown )) + { + *ppvObject = iface; + } + else + { + FIXME( "interface %s not implemented\n", debugstr_guid(riid) ); + return E_NOINTERFACE; + } + ISWbemLocator_AddRef( iface ); + return S_OK; +} + +static HRESULT WINAPI locator_GetTypeInfoCount( + ISWbemLocator *iface, + UINT *count ) +{ + struct locator *locator = impl_from_ISWbemLocator( iface ); + + TRACE( "%p, %p\n", locator, count ); + *count = 1; + return S_OK; +} + +enum type_id +{ + ISWbemLocator_tid, + last_tid +}; + +static ITypeLib *wbemdisp_typelib; +static ITypeInfo *wbemdisp_typeinfo[last_tid]; + +static REFIID wbemdisp_tid_id[] = +{ + &IID_ISWbemLocator +}; + +static HRESULT get_typeinfo( enum type_id tid, ITypeInfo **ret ) +{ + HRESULT hr; + + if (!wbemdisp_typelib) + { + ITypeLib *typelib; + + hr = LoadRegTypeLib( &LIBID_WbemScripting, 1, 2, LOCALE_SYSTEM_DEFAULT, &typelib ); + if (FAILED( hr )) + { + ERR( "LoadRegTypeLib failed: %08x\n", hr ); + return hr; + } + if (InterlockedCompareExchangePointer( (void **)&wbemdisp_typelib, typelib, NULL )) + ITypeLib_Release( typelib ); + } + if (!wbemdisp_typeinfo[tid]) + { + ITypeInfo *typeinfo; + + hr = ITypeLib_GetTypeInfoOfGuid( wbemdisp_typelib, wbemdisp_tid_id[tid], &typeinfo ); + if (FAILED( hr )) + { + ERR( "GetTypeInfoOfGuid(%s) failed: %08x\n", debugstr_guid(wbemdisp_tid_id[tid]), hr ); + return hr; + } + if (InterlockedCompareExchangePointer( (void **)(wbemdisp_typeinfo + tid), typeinfo, NULL )) + ITypeInfo_Release( typeinfo ); + } + *ret = wbemdisp_typeinfo[tid]; + return S_OK; +} + +static HRESULT WINAPI locator_GetTypeInfo( + ISWbemLocator *iface, + UINT index, + LCID lcid, + ITypeInfo **info ) +{ + struct locator *locator = impl_from_ISWbemLocator( iface ); + TRACE( "%p, %u, %u, %p\n", locator, index, lcid, info ); + + return get_typeinfo( ISWbemLocator_tid, info ); +} + +static HRESULT WINAPI locator_GetIDsOfNames( + ISWbemLocator *iface, + REFIID riid, + LPOLESTR *names, + UINT count, + LCID lcid, + DISPID *dispid ) +{ + struct locator *locator = impl_from_ISWbemLocator( iface ); + ITypeInfo *typeinfo; + HRESULT hr; + + TRACE( "%p, %s, %p, %u, %u, %p\n", locator, debugstr_guid(riid), names, count, lcid, dispid ); + + if (!names || !count || !dispid) return E_INVALIDARG; + + hr = get_typeinfo( ISWbemLocator_tid, &typeinfo ); + if (SUCCEEDED(hr)) + { + hr = ITypeInfo_GetIDsOfNames( typeinfo, names, count, dispid ); + ITypeInfo_Release( typeinfo ); + } + return hr; +} + +static HRESULT WINAPI locator_Invoke( + ISWbemLocator *iface, + DISPID member, + REFIID riid, + LCID lcid, + WORD flags, + DISPPARAMS *params, + VARIANT *result, + EXCEPINFO *excep_info, + UINT *arg_err ) +{ + struct locator *locator = impl_from_ISWbemLocator( iface ); + ITypeInfo *typeinfo; + HRESULT hr; + + TRACE( "%p, %d, %s, %d, %d, %p, %p, %p, %p\n", locator, member, debugstr_guid(riid), + lcid, flags, params, result, excep_info, arg_err ); + + hr = get_typeinfo( ISWbemLocator_tid, &typeinfo ); + if (SUCCEEDED(hr)) + { + hr = ITypeInfo_Invoke( typeinfo, &locator->ISWbemLocator_iface, member, flags, + params, result, excep_info, arg_err ); + ITypeInfo_Release( typeinfo ); + } + return hr; +} + +static HRESULT WINAPI locator_ConnectServer( + ISWbemLocator *iface, + BSTR strServer, + BSTR strNamespace, + BSTR strUser, + BSTR strPassword, + BSTR strLocale, + BSTR strAuthority, + LONG iSecurityFlags, + IDispatch *objWbemNamedValueSet, + ISWbemServices **objWbemServices ) +{ + FIXME( "%p, %s, %s, %s, %p, %s, %s, 0x%08x, %p, %p\n", iface, debugstr_w(strServer), + debugstr_w(strNamespace), debugstr_w(strUser), strPassword, debugstr_w(strLocale), + debugstr_w(strAuthority), iSecurityFlags, objWbemNamedValueSet, objWbemServices ); + return E_NOTIMPL; +} + +static HRESULT WINAPI locator_get_Security_( + ISWbemLocator *iface, + ISWbemSecurity **objWbemSecurity ) +{ + FIXME( "%p, %p\n", iface, objWbemSecurity ); + return E_NOTIMPL; +} + +static const ISWbemLocatorVtbl locator_vtbl = +{ + locator_QueryInterface, + locator_AddRef, + locator_Release, + locator_GetTypeInfoCount, + locator_GetTypeInfo, + locator_GetIDsOfNames, + locator_Invoke, + locator_ConnectServer, + locator_get_Security_ +}; + +HRESULT SWbemLocator_create( IUnknown *unk, void **obj ) +{ + struct locator *locator; + + TRACE( "%p, %p\n", unk, obj ); + + if (!(locator = heap_alloc( sizeof(*locator) ))) return E_OUTOFMEMORY; + locator->ISWbemLocator_iface.lpVtbl = &locator_vtbl; + locator->refs = 1; + + *obj = &locator->ISWbemLocator_iface; + TRACE( "returning iface %p\n", *obj ); + return S_OK; +}
Propchange: trunk/reactos/dll/win32/wbemdisp/locator.c ------------------------------------------------------------------------------ svn:eol-style = native
Added: trunk/reactos/dll/win32/wbemdisp/main.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wbemdisp/main.c?r... ============================================================================== --- trunk/reactos/dll/win32/wbemdisp/main.c (added) +++ trunk/reactos/dll/win32/wbemdisp/main.c [iso-8859-1] Wed Dec 4 20:44:14 2013 @@ -0,0 +1,217 @@ +/* + * Copyright 2013 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 + */ + +#include "config.h" +#include <stdarg.h> + +#define COBJMACROS + +#include "windef.h" +#include "winbase.h" +#include "initguid.h" +#include "objbase.h" +#include "wbemdisp.h" +#include "rpcproxy.h" + +#include "wine/debug.h" +#include "wbemdisp_private.h" +#include "wbemdisp_classes.h" + +WINE_DEFAULT_DEBUG_CHANNEL(wbemdisp); + +static HINSTANCE instance; + +static HRESULT WINAPI WinMGMTS_QueryInterface(IParseDisplayName *iface, REFIID riid, void **ppv) +{ + if(IsEqualGUID(riid, &IID_IUnknown)) { + TRACE("(IID_IUnknown %p)\n", ppv); + *ppv = iface; + }else if(IsEqualGUID(riid, &IID_IParseDisplayName)) { + TRACE("(IID_IParseDisplayName %p)\n", ppv); + *ppv = iface; + }else { + WARN("Unsupported riid %s\n", debugstr_guid(riid)); + *ppv = NULL; + return E_NOINTERFACE; + } + + IUnknown_AddRef((IUnknown*)*ppv); + return S_OK; +} + +static ULONG WINAPI WinMGMTS_AddRef(IParseDisplayName *iface) +{ + return 2; +} + +static ULONG WINAPI WinMGMTS_Release(IParseDisplayName *iface) +{ + return 1; +} + +static HRESULT WINAPI WinMGMTS_ParseDisplayName(IParseDisplayName *iface, IBindCtx *pbc, LPOLESTR pszDisplayName, + ULONG *pchEaten, IMoniker **ppmkOut) +{ + FIXME("(%p %s %p %p)\n", pbc, debugstr_w(pszDisplayName), pchEaten, ppmkOut); + return E_NOTIMPL; +} + +static const IParseDisplayNameVtbl WinMGMTSVtbl = { + WinMGMTS_QueryInterface, + WinMGMTS_AddRef, + WinMGMTS_Release, + WinMGMTS_ParseDisplayName +}; + +static IParseDisplayName winmgmts = { &WinMGMTSVtbl }; + +static HRESULT WinMGMTS_create(IUnknown *outer, void **ppv) +{ + *ppv = &winmgmts; + return S_OK; +} + +struct factory +{ + IClassFactory IClassFactory_iface; + HRESULT (*fnCreateInstance)( IUnknown *, LPVOID * ); +}; + +static inline struct factory *impl_from_IClassFactory( IClassFactory *iface ) +{ + return CONTAINING_RECORD( iface, struct factory, IClassFactory_iface ); +} + +static HRESULT WINAPI factory_QueryInterface( IClassFactory *iface, REFIID riid, LPVOID *obj ) +{ + if (IsEqualGUID( riid, &IID_IUnknown ) || IsEqualGUID( riid, &IID_IClassFactory )) + { + IClassFactory_AddRef( iface ); + *obj = iface; + return S_OK; + } + FIXME( "interface %s not implemented\n", debugstr_guid(riid) ); + return E_NOINTERFACE; +} + +static ULONG WINAPI factory_AddRef( IClassFactory *iface ) +{ + return 2; +} + +static ULONG WINAPI factory_Release( IClassFactory *iface ) +{ + return 1; +} + +static HRESULT WINAPI factory_CreateInstance( IClassFactory *iface, LPUNKNOWN outer, REFIID riid, + LPVOID *obj ) +{ + struct factory *factory = impl_from_IClassFactory( iface ); + IUnknown *unk; + HRESULT hr; + + TRACE( "%p, %s, %p\n", outer, debugstr_guid(riid), obj ); + + *obj = NULL; + if (outer) return CLASS_E_NOAGGREGATION; + + hr = factory->fnCreateInstance( outer, (LPVOID *)&unk ); + if (FAILED( hr )) + return hr; + + hr = IUnknown_QueryInterface( unk, riid, obj ); + if (FAILED( hr )) + return hr; + + IUnknown_Release( unk ); + return hr; +} + +static HRESULT WINAPI factory_LockServer( IClassFactory *iface, BOOL lock ) +{ + FIXME( "%p, %d\n", iface, lock ); + return S_OK; +} + +static const struct IClassFactoryVtbl factory_vtbl = +{ + factory_QueryInterface, + factory_AddRef, + factory_Release, + factory_CreateInstance, + factory_LockServer +}; + +static struct factory swbem_locator_cf = { { &factory_vtbl }, SWbemLocator_create }; +static struct factory winmgmts_cf = { { &factory_vtbl }, WinMGMTS_create }; + +BOOL WINAPI DllMain( HINSTANCE hinst, DWORD reason, LPVOID reserved ) +{ + + switch (reason) + { + case DLL_WINE_PREATTACH: + return FALSE; /* prefer native version */ + case DLL_PROCESS_ATTACH: + instance = hinst; + DisableThreadLibraryCalls( hinst ); + break; + } + return TRUE; +} + +HRESULT WINAPI DllGetClassObject( REFCLSID rclsid, REFIID iid, LPVOID *obj ) +{ + IClassFactory *cf = NULL; + + TRACE( "%s, %s, %p\n", debugstr_guid(rclsid), debugstr_guid(iid), obj ); + + if (IsEqualGUID( rclsid, &CLSID_SWbemLocator )) + cf = &swbem_locator_cf.IClassFactory_iface; + else if (IsEqualGUID( rclsid, &CLSID_WinMGMTS )) + cf = &winmgmts_cf.IClassFactory_iface; + else + return CLASS_E_CLASSNOTAVAILABLE; + + return IClassFactory_QueryInterface( cf, iid, obj ); +} + +/*********************************************************************** + * DllCanUnloadNow (WBEMDISP.@) + */ +HRESULT WINAPI DllCanUnloadNow(void) +{ + return S_FALSE; +} + +/*********************************************************************** + * DllRegisterServer (WBEMDISP.@) + */ +HRESULT WINAPI DllRegisterServer(void) +{ + return __wine_register_resources( instance ); +} + +/*********************************************************************** + * DllUnregisterServer (WBEMDISP.@) + */ +HRESULT WINAPI DllUnregisterServer(void) +{ + return __wine_unregister_resources( instance ); +}
Propchange: trunk/reactos/dll/win32/wbemdisp/main.c ------------------------------------------------------------------------------ svn:eol-style = native
Added: trunk/reactos/dll/win32/wbemdisp/wbemdisp.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wbemdisp/wbemdisp... ============================================================================== --- trunk/reactos/dll/win32/wbemdisp/wbemdisp.rc (added) +++ trunk/reactos/dll/win32/wbemdisp/wbemdisp.rc [iso-8859-1] Wed Dec 4 20:44:14 2013 @@ -0,0 +1,3 @@ +1 WINE_REGISTRY "wbemdisp_classes.rgs" +2 WINE_REGISTRY "wbemdisp_tlb.rgs" +1 TYPELIB "wbemdisp_tlb.tlb"
Propchange: trunk/reactos/dll/win32/wbemdisp/wbemdisp.rc ------------------------------------------------------------------------------ svn:eol-style = native
Added: trunk/reactos/dll/win32/wbemdisp/wbemdisp.spec URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wbemdisp/wbemdisp... ============================================================================== --- trunk/reactos/dll/win32/wbemdisp/wbemdisp.spec (added) +++ trunk/reactos/dll/win32/wbemdisp/wbemdisp.spec [iso-8859-1] Wed Dec 4 20:44:14 2013 @@ -0,0 +1,4 @@ +@ stdcall -private DllCanUnloadNow() +@ stdcall -private DllGetClassObject(ptr ptr ptr) +@ stdcall -private DllRegisterServer() +@ stdcall -private DllUnregisterServer()
Propchange: trunk/reactos/dll/win32/wbemdisp/wbemdisp.spec ------------------------------------------------------------------------------ svn:eol-style = native
Added: trunk/reactos/dll/win32/wbemdisp/wbemdisp_classes.idl URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wbemdisp/wbemdisp... ============================================================================== --- trunk/reactos/dll/win32/wbemdisp/wbemdisp_classes.idl (added) +++ trunk/reactos/dll/win32/wbemdisp/wbemdisp_classes.idl [iso-8859-1] Wed Dec 4 20:44:14 2013 @@ -0,0 +1,27 @@ +/* + * COM Classes for wbemdisp + * + * Copyright 2013 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 + */ + +[ + threading(apartment), + uuid(172bddf8-ceea-11d1-8b05-00600806d9b6), + progid("WINMGMTS.1"), + vi_progid("WINMGMTS") +] +coclass WinMGMTS { interface IParseDisplayName; }
Propchange: trunk/reactos/dll/win32/wbemdisp/wbemdisp_classes.idl ------------------------------------------------------------------------------ svn:eol-style = native
Added: trunk/reactos/dll/win32/wbemdisp/wbemdisp_classes.rgs URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wbemdisp/wbemdisp... ============================================================================== --- trunk/reactos/dll/win32/wbemdisp/wbemdisp_classes.rgs (added) +++ trunk/reactos/dll/win32/wbemdisp/wbemdisp_classes.rgs [iso-8859-1] Wed Dec 4 20:44:14 2013 @@ -0,0 +1,24 @@ +HKCR +{ + NoRemove Interface + { + } + NoRemove CLSID + { + '{172BDDF8-CEEA-11D1-8B05-00600806D9B6}' = s 'WinMGMTS' + { + InprocServer32 = s '%MODULE%' { val ThreadingModel = s 'Apartment' } + ProgId = s 'WINMGMTS.1' + VersionIndependentProgId = s 'WINMGMTS' + } + } + 'WINMGMTS.1' = s 'WinMGMTS' + { + CLSID = s '{172BDDF8-CEEA-11D1-8B05-00600806D9B6}' + } + 'WINMGMTS' = s 'WinMGMTS' + { + CLSID = s '{172BDDF8-CEEA-11D1-8B05-00600806D9B6}' + CurVer = s 'WINMGMTS.1' + } +}
Propchange: trunk/reactos/dll/win32/wbemdisp/wbemdisp_classes.rgs ------------------------------------------------------------------------------ svn:eol-style = native
Added: trunk/reactos/dll/win32/wbemdisp/wbemdisp_private.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wbemdisp/wbemdisp... ============================================================================== --- trunk/reactos/dll/win32/wbemdisp/wbemdisp_private.h (added) +++ trunk/reactos/dll/win32/wbemdisp/wbemdisp_private.h [iso-8859-1] Wed Dec 4 20:44:14 2013 @@ -0,0 +1,30 @@ +/* + * Copyright 2013 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 + */ + +HRESULT SWbemLocator_create(IUnknown *, LPVOID *) DECLSPEC_HIDDEN; + +static void *heap_alloc( size_t len ) __WINE_ALLOC_SIZE(1); +static inline void *heap_alloc( size_t len ) +{ + return HeapAlloc( GetProcessHeap(), 0, len ); +} + +static inline BOOL heap_free( void *mem ) +{ + return HeapFree( GetProcessHeap(), 0, mem ); +}
Propchange: trunk/reactos/dll/win32/wbemdisp/wbemdisp_private.h ------------------------------------------------------------------------------ svn:eol-style = native
Added: trunk/reactos/dll/win32/wbemdisp/wbemdisp_tlb.idl URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wbemdisp/wbemdisp... ============================================================================== --- trunk/reactos/dll/win32/wbemdisp/wbemdisp_tlb.idl (added) +++ trunk/reactos/dll/win32/wbemdisp/wbemdisp_tlb.idl [iso-8859-1] Wed Dec 4 20:44:14 2013 @@ -0,0 +1,21 @@ +/* + * Typelib for wbemdisp + * + * Copyright 2013 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 + */ + +#include "wbemdisp.idl"
Propchange: trunk/reactos/dll/win32/wbemdisp/wbemdisp_tlb.idl ------------------------------------------------------------------------------ svn:eol-style = native
Added: trunk/reactos/dll/win32/wbemdisp/wbemdisp_tlb.rgs URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wbemdisp/wbemdisp... ============================================================================== --- trunk/reactos/dll/win32/wbemdisp/wbemdisp_tlb.rgs (added) +++ trunk/reactos/dll/win32/wbemdisp/wbemdisp_tlb.rgs [iso-8859-1] Wed Dec 4 20:44:14 2013 @@ -0,0 +1,139 @@ +HKCR +{ + NoRemove Typelib + { + NoRemove '{565783C6-CB41-11D1-8B02-00600806D9B6}' + { + '1.2' = s 'Microsoft WMI Scripting V1.2 Library' + { + '0' { win32 = s '%MODULE%' } + FLAGS = s '0' + } + } + } + NoRemove Interface + { + '{27D54D92-0EBE-11D2-8B22-00600806D9B6}' = s 'ISWbemEventSource' + { + ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' + ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' + TypeLib = s '{565783C6-CB41-11D1-8B02-00600806D9B6}' { val Version = s '1.2' } + } + '{76A6415B-CB41-11D1-8B02-00600806D9B6}' = s 'ISWbemLocator' + { + ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' + ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' + TypeLib = s '{565783C6-CB41-11D1-8B02-00600806D9B6}' { val Version = s '1.2' } + } + '{422E8E90-D955-11D1-8B09-00600806D9B6}' = s 'ISWbemMethod' + { + ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' + ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' + TypeLib = s '{565783C6-CB41-11D1-8B02-00600806D9B6}' { val Version = s '1.2' } + } + '{C93BA292-D955-11D1-8B09-00600806D9B6}' = s 'ISWbemMethodSet' + { + ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' + ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' + TypeLib = s '{565783C6-CB41-11D1-8B02-00600806D9B6}' { val Version = s '1.2' } + } + '{76A64164-CB41-11D1-8B02-00600806D9B6}' = s 'ISWbemNamedValue' + { + ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' + ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' + TypeLib = s '{565783C6-CB41-11D1-8B02-00600806D9B6}' { val Version = s '1.2' } + } + '{CF2376EA-CE8C-11D1-8B05-00600806D9B6}' = s 'ISWbemNamedValueSet' + { + ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' + ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' + TypeLib = s '{565783C6-CB41-11D1-8B02-00600806D9B6}' { val Version = s '1.2' } + } + '{76A6415A-CB41-11D1-8B02-00600806D9B6}' = s 'ISWbemObject' + { + ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' + ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' + TypeLib = s '{565783C6-CB41-11D1-8B02-00600806D9B6}' { val Version = s '1.2' } + } + '{5791BC27-CE9C-11D1-97BF-0000F81E849C}' = s 'ISWbemObjectPath' + { + ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' + ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' + TypeLib = s '{565783C6-CB41-11D1-8B02-00600806D9B6}' { val Version = s '1.2' } + } + '{76A6415F-CB41-11D1-8B02-00600806D9B6}' = s 'ISWbemObjectSet' + { + ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' + ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' + TypeLib = s '{565783C6-CB41-11D1-8B02-00600806D9B6}' { val Version = s '1.2' } + } + '{26EE67BD-5804-11D2-8B4A-00600806D9B6}' = s 'ISWbemPrivilege' + { + ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' + ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' + TypeLib = s '{565783C6-CB41-11D1-8B02-00600806D9B6}' { val Version = s '1.2' } + } + '{26EE67BF-5804-11D2-8B4A-00600806D9B6}' = s 'ISWbemPrivilegeSet' + { + ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' + ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' + TypeLib = s '{565783C6-CB41-11D1-8B02-00600806D9B6}' { val Version = s '1.2' } + } + '{1A388F98-D4BA-11D1-8B09-00600806D9B6}' = s 'ISWbemProperty' + { + ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' + ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' + TypeLib = s '{565783C6-CB41-11D1-8B02-00600806D9B6}' { val Version = s '1.2' } + } + '{DEA0A7B2-D4BA-11D1-8B09-00600806D9B6}' = s 'ISWbemPropertySet' + { + ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' + ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' + TypeLib = s '{565783C6-CB41-11D1-8B02-00600806D9B6}' { val Version = s '1.2' } + } + '{79B05932-D3B7-11D1-8B06-00600806D9B6}' = s 'ISWbemQualifier' + { + ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' + ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' + TypeLib = s '{565783C6-CB41-11D1-8B02-00600806D9B6}' { val Version = s '1.2' } + } + '{9B16ED16-D3DF-11D1-8B08-00600806D9B6}' = s 'ISWbemQualifierSet' + { + ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' + ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' + TypeLib = s '{565783C6-CB41-11D1-8B02-00600806D9B6}' { val Version = s '1.2' } + } + '{B54D66E6-2287-11D2-8B33-00600806D9B6}' = s 'ISWbemSecurity' + { + ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' + ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' + TypeLib = s '{565783C6-CB41-11D1-8B02-00600806D9B6}' { val Version = s '1.2' } + } + '{76A6415C-CB41-11D1-8B02-00600806D9B6}' = s 'ISWbemServices' + { + ProxyStubClsid = s '{00020424-0000-0000-C000-000000000046}' + ProxyStubClsid32 = s '{00020424-0000-0000-C000-000000000046}' + TypeLib = s '{565783C6-CB41-11D1-8B02-00600806D9B6}' { val Version = s '1.2' } + } + } + NoRemove CLSID + { + '{76A64158-CB41-11D1-8B02-00600806D9B6}' = s 'SWbemLocator' + { + InprocServer32 = s '%MODULE%' { val ThreadingModel = s 'Apartment' } + ProgId = s 'WbemScripting.SWbemLocator.1' + TypeLib = s '{565783C6-CB41-11D1-8B02-00600806D9B6}' + Version = s '1.2' + VersionIndependentProgId = s 'WbemScripting.SWbemLocator' + } + } + 'WbemScripting.SWbemLocator.1' = s 'SWbemLocator' + { + CLSID = s '{76A64158-CB41-11D1-8B02-00600806D9B6}' + } + 'WbemScripting.SWbemLocator' = s 'SWbemLocator' + { + CLSID = s '{76A64158-CB41-11D1-8B02-00600806D9B6}' + CurVer = s 'WbemScripting.SWbemLocator.1' + } +}
Propchange: trunk/reactos/dll/win32/wbemdisp/wbemdisp_tlb.rgs ------------------------------------------------------------------------------ svn:eol-style = native
Modified: trunk/reactos/include/psdk/CMakeLists.txt URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/CMakeLists.txt... ============================================================================== --- trunk/reactos/include/psdk/CMakeLists.txt [iso-8859-1] (original) +++ trunk/reactos/include/psdk/CMakeLists.txt [iso-8859-1] Wed Dec 4 20:44:14 2013 @@ -113,6 +113,7 @@ vmr9.idl # vmrender.idl wbemcli.idl + wbemdisp.idl wbemprov.idl wia_lh.idl wia_xp.idl
Added: trunk/reactos/include/psdk/wbemdisp.idl URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/wbemdisp.idl?r... ============================================================================== --- trunk/reactos/include/psdk/wbemdisp.idl (added) +++ trunk/reactos/include/psdk/wbemdisp.idl [iso-8859-1] Wed Dec 4 20:44:14 2013 @@ -0,0 +1,1121 @@ +/* + * Copyright 2013 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 "dispex.idl"; + +#ifndef __WIDL__ +#define threading(model) +#define progid(str) +#define vi_progid(str) +#endif + +[ + uuid(565783c6-cb41-11d1-8b02-00600806d9b6), + helpstring("Microsoft WMI Scripting V1.2 Library"), + lcid(0x0000), + version(1.2) +] +library WbemScripting +{ + +importlib("stdole2.tlb"); + +interface ISWbemEventSource; +interface ISWbemLocator; +interface ISWbemMethod; +interface ISWbemMethodSet; +interface ISWbemNamedValue; +interface ISWbemNamedValueSet; +interface ISWbemObject; +interface ISWbemObjectPath; +interface ISWbemObjectSet; +interface ISWbemPrivilege; +interface ISWbemPrivilegeSet; +interface ISWbemProperty; +interface ISWbemPropertySet; +interface ISWbemQualifier; +interface ISWbemQualifierSet; +interface ISWbemSecurity; +interface ISWbemServices; + +[ + object, + local, + uuid(27d54d92-0ebe-11d2-8b22-00600806d9b6), + dual, + hidden, + oleautomation, + nonextensible +] +interface ISWbemEventSource : IDispatch +{ + [ id(1) ] + HRESULT NextEvent( + [in] long iTimeoutMs, + [out, retval] ISWbemObject **objWbemObject); + + [ id(2), propget ] + HRESULT Security_( + [out, retval] ISWbemSecurity **objWbemSecurity); +}; + +[ + object, + local, + uuid(76a6415b-cb41-11d1-8b02-00600806d9b6), + dual, + hidden, + oleautomation, + pointer_default(unique) +] +interface ISWbemLocator : IDispatch +{ + [ id(1) ] + HRESULT ConnectServer( + [in] BSTR strServer, + [in] BSTR strNamespace, + [in] BSTR strUser, + [in] BSTR strPassword, + [in] BSTR strLocale, + [in] BSTR strAuthority, + [in] long iSecurityFlags, + [in] IDispatch *objWbemNamedValueSet, + [out, retval] ISWbemServices **objWbemServices); + + [ id(2), propget ] + HRESULT Security_( + ISWbemSecurity **objWbemSecurity); +}; + +[ + object, + local, + uuid(422e8e90-d955-11d1-8b09-00600806d9b6), + dual, + hidden, + oleautomation, + pointer_default(unique), + nonextensible +] +interface ISWbemMethod : IDispatch +{ + [ id(1), propget ] + HRESULT Name( + [out, retval] BSTR *strName); + + [ id(2), propget ] + HRESULT Origin( + [out, retval] BSTR *strOrigin); + + [ id(3), propget ] + HRESULT InParameters( + [out, retval] ISWbemObject **objWbemInParameters); + + [ id(4), propget ] + HRESULT OutParameters( + [out, retval] ISWbemObject **objWbemOutParameters); + + [ id(5), propget ] + HRESULT Qualifiers_( + [out, retval] ISWbemQualifierSet **objWbemQualifierSet); +}; + +[ + object, + local, + uuid(c93ba292-d955-11d1-8b09-00600806d9b6), + dual, + hidden, + oleautomation, + nonextensible +] +interface ISWbemMethodSet : IDispatch +{ + [ id(DISPID_NEWENUM), propget, restricted ] + HRESULT _NewEnum( + [out, retval] IUnknown **pUnk); + + [ id(DISPID_VALUE) ] + HRESULT Item( + [in] BSTR strName, + [in] long iFlags, + [out, retval] ISWbemMethod **objWbemMethod); + + [ id(1), propget ] + HRESULT Count( + [out, retval] long *iCount); +}; + +[ + object, + local, + uuid(76a64164-cb41-11d1-8b02-00600806d9b6), + dual, + hidden, + oleautomation +] +interface ISWbemNamedValue : IDispatch +{ + [ id(DISPID_VALUE), propget ] + HRESULT Value( + [out, retval] VARIANT *varValue); + + [ id(DISPID_VALUE), propput ] + HRESULT Value( + [in] VARIANT *varValue); + + [ id(2), propget ] + HRESULT Name( + [out, retval] BSTR *strName); +}; + +[ + object, + local, + uuid(cf2376ea-ce8c-11d1-8b05-00600806d9b6), + dual, + hidden, + oleautomation +] +interface ISWbemNamedValueSet : IDispatch +{ + [ id(DISPID_NEWENUM), propget, restricted ] + HRESULT _NewEnum( + [out, retval] IUnknown **pUnk); + + [ id(DISPID_VALUE) ] + HRESULT Item( + [in] BSTR strName, + [in] long iFlags, + [out, retval] ISWbemNamedValue **objWbemNamedValue); + + [ id(1), propget ] + HRESULT Count( + [out, retval] long *iCount); + + [ id(2) ] + HRESULT Add( + [in] BSTR strName, + [in] VARIANT *varValue, + [in] long iFlags, + [out, retval] ISWbemNamedValue **objWbemNamedValue); + + [ id(3) ] + HRESULT Remove( + [in] BSTR strName, + [in] long iFlags); + + [ id(4) ] + HRESULT Clone( + [out, retval] ISWbemNamedValueSet **objWbemNamedValueSet); + + [ id(5) ] + HRESULT DeleteAll(); +}; + +[ + object, + local, + uuid(76A6415A-CB41-11d1-8B02-00600806D9B6), + dual, + hidden, + oleautomation +] +interface ISWbemObject : IDispatch +{ + [ id(1) ] + HRESULT Put_( + [in] long iFlags, + [in] IDispatch *objWbemNamedValueSet, + [out, retval] ISWbemObjectPath **objWbemObjectPath); + + [ id(2) ] + HRESULT PutAsync_( + [in] IDispatch *objWbemSink, + [in] long iFlags, + [in] IDispatch *objWbemNamedValueSet, + [in] IDispatch *objWbemAsyncContext); + + [ id (3) ] + HRESULT Delete_( + [in] long iFlags, + [in] IDispatch *objWbemNamedValueSet); + + [ id (4) ] + HRESULT DeleteAsync_( + [in] IDispatch *objWbemSink, + [in] long iFlags, + [in] IDispatch *objWbemNamedValueSet, + [in] IDispatch *objWbemAsyncContext); + + [ id(5) ] + HRESULT Instances_( + [in] long iFlags, + [in] IDispatch *objWbemNamedValueSet, + [out, retval] ISWbemObjectSet **objWbemObjectSet); + + [ id(6) ] + HRESULT InstancesAsync_( + [in] IDispatch *objWbemSink, + [in] long iFlags, + [in] IDispatch *objWbemNamedValueSet, + [in] IDispatch *objWbemAsyncContext); + + [ id(7) ] + HRESULT Subclasses_( + [in] long iFlags, + [in] IDispatch *objWbemNamedValueSet, + [out, retval] ISWbemObjectSet **objWbemObjectSet); + + [ id(8) ] + HRESULT SubclassesAsync_( + [in] IDispatch *objWbemSink, + [in] long iFlags, + [in] IDispatch *objWbemNamedValueSet, + [in] IDispatch *objWbemAsyncContext); + + [ id(9) ] + HRESULT Associators_( + [in] BSTR strAssocClass, + [in] BSTR strResultClass, + [in] BSTR strResultRole, + [in] BSTR strRole, + [in] VARIANT_BOOL bClassesOnly, + [in] VARIANT_BOOL bSchemaOnly, + [in] BSTR strRequiredAssocQualifier, + [in] BSTR strRequiredQualifier, + [in] long iFlags, + [in] IDispatch *objWbemNamedValueSet, + [out, retval] ISWbemObjectSet **objWbemObjectSet); + + [ id(10) ] + HRESULT AssociatorsAsync_( + [in] IDispatch *objWbemSink, + [in] BSTR strAssocClass, + [in] BSTR strResultClass, + [in] BSTR strResultRole, + [in] BSTR strRole, + [in] VARIANT_BOOL bClassesOnly, + [in] VARIANT_BOOL bSchemaOnly, + [in] BSTR strRequiredAssocQualifier, + [in] BSTR strRequiredQualifier, + [in] long iFlags, + [in] IDispatch *objWbemNamedValueSet, + [in] IDispatch *objWbemAsyncContext); + + [ id(11) ] + HRESULT References_( + [in] BSTR strResultClass, + [in] BSTR strRole, + [in] VARIANT_BOOL bClassesOnly, + [in] VARIANT_BOOL bSchemaOnly, + [in] BSTR strRequiredQualifier, + [in] long iFlags, + [in] IDispatch *objWbemNamedValueSet, + [out, retval] ISWbemObjectSet **objWbemObjectSet); + + [ id(12) ] + HRESULT ReferencesAsync_( + [in] IDispatch *objWbemSink, + [in] BSTR strResultClass, + [in] BSTR strRole, + [in] VARIANT_BOOL bClassesOnly, + [in] VARIANT_BOOL bSchemaOnly, + [in] BSTR strRequiredQualifier, + [in] long iFlags, + [in] IDispatch *objWbemNamedValueSet, + [in] IDispatch *objWbemAsyncContext); + + [ id(13) ] + HRESULT ExecMethod_( + [in] BSTR strMethodName, + [in] IDispatch *objWbemInParameters, + [in] long iFlags, + [in] IDispatch *objWbemNamedValueSet, + [out, retval] ISWbemObject **objWbemOutParameters); + + [ id(14) ] + HRESULT ExecMethodAsync_( + [in] IDispatch *objWbemSink, + [in] BSTR strMethodName, + [in] IDispatch *objWbemInParameters, + [in] long iFlags, + [in] IDispatch *objWbemNamedValueSet, + [in] IDispatch *objWbemAsyncContext); + + [ id(15) ] + HRESULT Clone_( + [out, retval] ISWbemObject **objWbemObject); + + [ id(16) ] + HRESULT GetObjectText_( + [in] long iFlags, + [out, retval] BSTR *strObjectText); + + [ id(17) ] + HRESULT SpawnDerivedClass_( + [in] long iFlags, + [out, retval] ISWbemObject **objWbemObject); + + [ id(18) ] + HRESULT SpawnInstance_( + [in] long iFlags, + [out, retval] ISWbemObject **objWbemObject); + + [ id(19) ] + HRESULT CompareTo_( + [in] IDispatch *objWbemObject, + [in] long iFlags, + [out, retval] VARIANT_BOOL *bResult); + + [ id(20), propget ] + HRESULT Qualifiers_( + [out, retval] ISWbemQualifierSet **objWbemQualifierSet); + + [ id(21), propget ] + HRESULT Properties_( + [out, retval] ISWbemPropertySet **objWbemPropertySet); + + [ id(22), propget ] + HRESULT Methods_( + [out, retval] ISWbemMethodSet **objWbemMethodSet); + + [ id(23), propget ] + HRESULT Derivation_( + [out, retval] VARIANT *strClassNameArray); + + [ id(24), propget ] + HRESULT Path_( + [out, retval] ISWbemObjectPath **objWbemObjectPath); + + [ id(25), propget ] + HRESULT Security_( + [out, retval] ISWbemSecurity **objWbemSecurity); +}; + +[ + object, + local, + uuid(5791bc27-ce9c-11d1-97bf-0000f81e849c), + dual, + hidden, + oleautomation, + pointer_default(unique) +] +interface ISWbemObjectPath : IDispatch +{ + [ id(DISPID_VALUE), propget ] + HRESULT Path( + [out, retval] BSTR *strPath); + + [ id(DISPID_VALUE), propput ] + HRESULT Path( + [in] BSTR strPath); + + [ id(1), propget ] + HRESULT RelPath( + [out, retval] BSTR *strRelPath); + + [ id(1), propput ] + HRESULT RelPath( + [in] BSTR strRelPath); + + [ id(2), propget ] + HRESULT Server( + [out, retval] BSTR *strServer); + + [ id(2), propput ] + HRESULT Server( + [in] BSTR strServer); + + [ id(3), propget ] + HRESULT Namespace( + [out, retval] BSTR *strNamespace); + + [ id(3), propput ] + HRESULT Namespace( + [in] BSTR strNamespace); + + [ id(4), propget ] + HRESULT ParentNamespace( + [out, retval] BSTR *strParentNamespace); + + [ id(5), propget ] + HRESULT DisplayName( + [out, retval] BSTR *strDisplayName); + + [ id(5), propput ] + HRESULT DisplayName( + [in] BSTR strDisplayName); + + [ id(6), propget ] + HRESULT Class( + [out, retval] BSTR *strClass); + + [ id(6), propput ] + HRESULT Class( + [in] BSTR strClass); + + [ id(7), propget ] + HRESULT IsClass( + [out, retval] VARIANT_BOOL *bIsClass); + + [ id(8) ] + HRESULT SetAsClass(); + + [ id(9), propget ] + HRESULT IsSingleton( + [out, retval] VARIANT_BOOL *bIsSingleton); + + [ id(10) ] + HRESULT SetAsSingleton(); + + [ id(11), propget ] + HRESULT Keys( + [out, retval] ISWbemNamedValueSet **objWbemNamedValueSet); + + [ id(12), propget ] + HRESULT Security_( + [out, retval] ISWbemSecurity **objWbemSecurity); + + [ id(13), propget ] + HRESULT Locale( + [out, retval] BSTR *strLocale); + + [ id(13), propput ] + HRESULT Locale( + [in] BSTR strLocale); + + [ id(14), propget ] + HRESULT Authority( + [out, retval] BSTR *strAuthority); + + [ id(14), propput ] + HRESULT Authority( + [in] BSTR strAuthority); +}; + +[ + object, + local, + uuid(76a6415f-cb41-11d1-8b02-00600806d9b6), + dual, + hidden, + oleautomation, + nonextensible +] +interface ISWbemObjectSet : IDispatch +{ + [ id(DISPID_NEWENUM), propget, restricted ] + HRESULT _NewEnum( + [out, retval] IUnknown **pUnk); + + [ id(DISPID_VALUE) ] + HRESULT Item( + [in] BSTR strObjectPath, + [in] long iFlags, + [out, retval] ISWbemObject **objWbemObject); + + [ id(1), propget ] + HRESULT Count( + [out, retval] long *iCount); + + [ id(4), propget ] + HRESULT Security_( + [out, retval] ISWbemSecurity **objWbemSecurity); + + [ id(5) ] + HRESULT ItemIndex( + [in] long lIndex, + [out, retval] ISWbemObject **objWbemObject); +}; + +typedef +[ + v1_enum, + uuid(176d2f70-5af3-11d2-8b4a-00600806d9b6) +] +enum WbemPrivilegeEnum +{ + wbemPrivilegeCreateToken = 1, + wbemPrivilegePrimaryToken = 2, + wbemPrivilegeLockMemory = 3, + wbemPrivilegeIncreaseQuota = 4, + wbemPrivilegeMachineAccount = 5, + wbemPrivilegeTcb = 6, + wbemPrivilegeSecurity = 7, + wbemPrivilegeTakeOwnership = 8, + wbemPrivilegeLoadDriver = 9, + wbemPrivilegeSystemProfile = 10, + wbemPrivilegeSystemtime = 11, + wbemPrivilegeProfileSingleProcess = 12, + wbemPrivilegeIncreaseBasePriority = 13, + wbemPrivilegeCreatePagefile = 14, + wbemPrivilegeCreatePermanent = 15, + wbemPrivilegeBackup = 16, + wbemPrivilegeRestore = 17, + wbemPrivilegeShutdown = 18, + wbemPrivilegeDebug = 19, + wbemPrivilegeAudit = 20, + wbemPrivilegeSystemEnvironment = 21, + wbemPrivilegeChangeNotify = 22, + wbemPrivilegeRemoteShutdown = 23, + wbemPrivilegeUndock = 24, + wbemPrivilegeSyncAgent = 25, + wbemPrivilegeEnableDelegation = 26, + wbemPrivilegeManageVolume = 27 +} WbemPrivilegeEnum; + +[ + object, + local, + uuid(26ee67bd-5804-11d2-8b4a-00600806d9b6), + dual, + hidden, + oleautomation, + nonextensible +] +interface ISWbemPrivilege : IDispatch +{ + [ id(DISPID_VALUE), propget ] + HRESULT IsEnabled( + [out, retval] VARIANT_BOOL *bIsEnabled); + + [ id(DISPID_VALUE), propput ] + HRESULT IsEnabled( + [in] VARIANT_BOOL bIsEnabled); + + [ id(1), propget ] + HRESULT Name( + [out, retval] BSTR *strDisplayName); + + [ id(2), propget ] + HRESULT DisplayName( + [out, retval] BSTR *strDisplayName); + + [ id(3), propget ] + HRESULT Identifier( + [out, retval] WbemPrivilegeEnum *iPrivilege); +}; + +[ + object, + local, + uuid(26ee67bf-5804-11d2-8b4a-00600806d9b6), + dual, + hidden, + oleautomation, + nonextensible +] +interface ISWbemPrivilegeSet : IDispatch +{ + [ id(DISPID_NEWENUM), propget, restricted ] + HRESULT _NewEnum( + [out, retval] IUnknown **pUnk); + + [ id(DISPID_VALUE) ] + HRESULT Item( + [in] WbemPrivilegeEnum iPrivilege, + [out, retval] ISWbemPrivilege **objWbemPrivilege); + + [ id(1), propget ] + HRESULT Count( + [out, retval] long *iCount); + + [ id(2) ] + HRESULT Add( + [in] WbemPrivilegeEnum iPrivilege, + [in] VARIANT_BOOL bIsEnabled, + [out, retval] ISWbemPrivilege **objWbemPrivilege); + + [ id(3) ] + HRESULT Remove( + [in] WbemPrivilegeEnum iPrivilege); + + [ id(4) ] + HRESULT DeleteAll(); + + [ id(5) ] + HRESULT AddAsString( + [in] BSTR strPrivilege, + [in] VARIANT_BOOL bIsEnabled, + [out, retval] ISWbemPrivilege **objWbemPrivilege); +}; + +typedef +[ + v1_enum, + uuid(4a249b7b-fc9a-11d1-8b1e-00600806d9b6), +] +enum WbemCimtypeEnum +{ + wbemCimtypeSint16 = 2, + wbemCimtypeSint32 = 3, + wbemCimtypeReal32 = 4, + wbemCimtypeReal64 = 5, + wbemCimtypeString = 8, + wbemCimtypeBoolean = 11, + wbemCimtypeObject = 13, + wbemCimtypeSint8 = 16, + wbemCimtypeUint8 = 17, + wbemCimtypeUint16 = 18, + wbemCimtypeUint32 = 19, + wbemCimtypeSint64 = 20, + wbemCimtypeUint64 = 21, + wbemCimtypeDatetime = 101, + wbemCimtypeReference = 102, + wbemCimtypeChar16 = 103 +} WbemCimtypeEnum; + +[ + object, + local, + uuid(1a388f98-d4ba-11d1-8b09-00600806d9b6), + dual, + hidden, + oleautomation, + pointer_default(unique) +] +interface ISWbemProperty : IDispatch +{ + [ id(DISPID_VALUE), propget ] + HRESULT Value( + [out, retval] VARIANT *varValue); + + [ id(DISPID_VALUE), propput ] + HRESULT Value( + [in] VARIANT *varValue); + + [ id(1), propget ] + HRESULT Name( + [out, retval] BSTR *strName); + + [ id(2), propget ] + HRESULT IsLocal( + [out, retval] VARIANT_BOOL *bIsLocal); + + [ id(3), propget ] + HRESULT Origin( + [out, retval] BSTR *strOrigin); + + [ id(4), propget ] + HRESULT CIMType( + [out, retval] WbemCimtypeEnum *iCimType); + + [ id(5), propget ] + HRESULT Qualifiers_( + [out, retval] ISWbemQualifierSet **objWbemQualifierSet); + + [ id(6), propget ] + HRESULT IsArray( + [out, retval] VARIANT_BOOL *bIsArray); +}; + +[ + object, + local, + uuid(dea0a7b2-d4ba-11d1-8b09-00600806d9b6), + dual, + hidden, + oleautomation +] +interface ISWbemPropertySet : IDispatch +{ + [ id(DISPID_NEWENUM), propget, restricted ] + HRESULT _NewEnum( + [out, retval] IUnknown **pUnk); + + [ id(DISPID_VALUE) ] + HRESULT Item( + [in] BSTR strName, + [in] long iFlags, + [out, retval] ISWbemProperty **objWbemProperty); + + [ id(1), propget ] + HRESULT Count( + [out, retval] long *iCount); + + [ id(2) ] + HRESULT Add( + [in] BSTR strName, + [in] WbemCimtypeEnum iCIMType, + [in] VARIANT_BOOL bIsArray, + [in] long iFlags, + [out, retval] ISWbemProperty **objWbemProperty); + + [ id(3) ] + HRESULT Remove( + [in] BSTR strName, + [in] long iFlags); +}; + +[ + object, + local, + uuid(79b05932-d3b7-11d1-8b06-00600806d9b6), + dual, + hidden, + oleautomation, + nonextensible, + pointer_default(unique) +] +interface ISWbemQualifier : IDispatch +{ + [ id(DISPID_VALUE), propget ] + HRESULT Value( + [out, retval] VARIANT *varValue); + + [ id(DISPID_VALUE), propput ] + HRESULT Value( + [in] VARIANT *varValue); + + [ id(1), propget ] + HRESULT Name( + [out, retval] BSTR *strName); + + [ id(2), propget ] + HRESULT IsLocal( + [out, retval] VARIANT_BOOL *bIsLocal); + + [ id(3), propget ] + HRESULT PropagatesToSubclass( + [out, retval] VARIANT_BOOL *bPropagatesToSubclass); + + [ id(3), propput ] + HRESULT PropagatesToSubclass( + [in] VARIANT_BOOL bPropagatesToSubclass); + + [ id(4), propget ] + HRESULT PropagatesToInstance( + [out, retval] VARIANT_BOOL *bPropagatesToInstance); + + [ id(4), propput ] + HRESULT PropagatesToInstance( + [in] VARIANT_BOOL bPropagatesToInstance); + + [ id(5), propget ] + HRESULT IsOverridable( + [out, retval] VARIANT_BOOL *bIsOverridable); + + [ id(5), propput ] + HRESULT IsOverridable( + [in] VARIANT_BOOL bIsOverridable); + + [ id(6), propget ] + HRESULT IsAmended( + [out, retval] VARIANT_BOOL *bIsAmended); +}; + +[ + object, + local, + uuid(9b16ed16-d3df-11d1-8b08-00600806d9b6), + dual, + hidden, + oleautomation, + nonextensible +] +interface ISWbemQualifierSet : IDispatch +{ + [ id(DISPID_NEWENUM), propget, restricted ] + HRESULT _NewEnum( + [out, retval] IUnknown **pUnk); + + [ id(DISPID_VALUE) ] + HRESULT Item( + [in] BSTR name, + [in] long iFlags, + [out, retval] ISWbemQualifier **objWbemQualifier); + + [ id(1), propget ] + HRESULT Count( + [out, retval] long *iCount); + + [ id(2) ] + HRESULT Add( + [in] BSTR strName, + [in] VARIANT *varVal, + [in] VARIANT_BOOL bPropagatesToSubclass, + [in] VARIANT_BOOL bPropagatesToInstance, + [in] VARIANT_BOOL bIsOverridable, + [in] long iFlags, + [out, retval] ISWbemQualifier **objWbemQualifier); + + [ id(3) ] + HRESULT Remove( + [in] BSTR strName, + [in] long iFlags); +}; + +typedef +[ + v1_enum, + uuid(b54d66e8-2287-11d2-8b33-00600806d9b6) +] +enum WbemImpersonationLevelEnum +{ + wbemImpersonationLevelAnonymous = 1, + wbemImpersonationLevelIdentify = 2, + wbemImpersonationLevelImpersonate = 3, + wbemImpersonationLevelDelegate = 4 +} WbemImpersonationLevelEnum; + +typedef +[ + v1_enum, + uuid(b54d66e7-2287-11d2-8b33-00600806d9b6) +] +enum WbemAuthenticationLevelEnum +{ + wbemAuthenticationLevelDefault = 0, + wbemAuthenticationLevelNone = 1, + wbemAuthenticationLevelConnect = 2, + wbemAuthenticationLevelCall = 3, + wbemAuthenticationLevelPkt = 4, + wbemAuthenticationLevelPktIntegrity = 5, + wbemAuthenticationLevelPktPrivacy = 6 +} WbemAuthenticationLevelEnum; + +[ + object, + local, + uuid(b54d66e6-2287-11d2-8b33-00600806d9b6), + dual, + hidden, + oleautomation, + nonextensible +] +interface ISWbemSecurity : IDispatch +{ + [ id(1), propget ] + HRESULT ImpersonationLevel( + [out, retval] WbemImpersonationLevelEnum *iImpersonationLevel); + + [ id(1), propput ] + HRESULT ImpersonationLevel( + [in] WbemImpersonationLevelEnum iImpersonationLevel); + + [ id(2), propget ] + HRESULT AuthenticationLevel( + [out, retval] WbemAuthenticationLevelEnum *iAuthenticationLevel); + + [ id(2), propput ] + HRESULT AuthenticationLevel( + [in] WbemAuthenticationLevelEnum iAuthenticationLevel); + + [ id(3), propget ] + HRESULT Privileges( + [out, retval] ISWbemPrivilegeSet **objWbemPrivilegeSet); +}; + +[ + object, + local, + uuid(76a6415c-cb41-11d1-8b02-00600806d9b6), + dual, + hidden, + oleautomation, + pointer_default(unique) +] +interface ISWbemServices : IDispatch +{ + [ id(1) ] + HRESULT Get( + [in] BSTR strObjectPath, + [in] long iFlags, + [in] IDispatch *objWbemNamedValueSet, + [out, retval] ISWbemObject **objWbemObject); + + [ id(2) ] + HRESULT GetAsync( + [in] IDispatch *objWbemSink, + [in] BSTR strObjectPath, + [in] long iFlags, + [in] IDispatch *objWbemNamedValueSet, + [in] IDispatch *objWbemAsyncContext); + + [ id(3) ] + HRESULT Delete( + [in] BSTR strObjectPath, + [in] long iFlags, + [in] IDispatch *objWbemNamedValueSet); + + [ id(4) ] + HRESULT DeleteAsync( + [in] IDispatch *objWbemSink, + [in] BSTR strObjectPath, + [in] long iFlags, + [in] IDispatch *objWbemNamedValueSet, + [in] IDispatch *objWbemAsyncContext); + + [ id(5) ] + HRESULT InstancesOf( + [in] BSTR strClass, + [in] long iFlags, + [in] IDispatch *objWbemNamedValueSet, + [out, retval] ISWbemObjectSet **objWbemObjectSet); + + [ id(6) ] + HRESULT InstancesOfAsync( + [in] IDispatch *objWbemSink, + [in] BSTR strClass, + [in] long iFlags, + [in] IDispatch *objWbemNamedValueSet, + [in] IDispatch *objWbemAsyncContext); + + [ id(7) ] + HRESULT SubclassesOf( + [in] BSTR strSuperclass, + [in] long iFlags, + [in] IDispatch *objWbemNamedValueSet, + [out, retval] ISWbemObjectSet **objWbemObjectSet); + + [ id(8) ] + HRESULT SubclassesOfAsync( + [in] IDispatch *objWbemSink, + [in] BSTR strSuperclass, + [in] long iFlags, + [in] IDispatch *objWbemNamedValueSet, + [in] IDispatch *objWbemAsyncContext); + + [ id(9) ] + HRESULT ExecQuery( + [in] BSTR strQuery, + [in] BSTR strQueryLanguage, + [in] long iFlags, + [in] IDispatch *objWbemNamedValueSet, + [out, retval] ISWbemObjectSet **objWbemObjectSet); + + [ id(10) ] + HRESULT ExecQueryAsync( + [in] IDispatch *objWbemSink, + [in] BSTR strQuery, + [in] BSTR strQueryLanguage, + [in] long lFlags, + [in] IDispatch *objWbemNamedValueSet, + [in] IDispatch *objWbemAsyncContext); + + [ id(11) ] + HRESULT AssociatorsOf( + [in] BSTR strObjectPath, + [in] BSTR strAssocClass, + [in] BSTR strResultClass, + [in] BSTR strResultRole, + [in] BSTR strRole, + [in] VARIANT_BOOL bClassesOnly, + [in] VARIANT_BOOL bSchemaOnly, + [in] BSTR strRequiredAssocQualifier, + [in] BSTR strRequiredQualifier, + [in] long iFlags, + [in] IDispatch *objWbemNamedValueSet, + [out, retval] ISWbemObjectSet **objWbemObjectSet); + + [ id(12) ] + HRESULT AssociatorsOfAsync( + [in] IDispatch *objWbemSink, + [in] BSTR strObjectPath, + [in] BSTR strAssocClass, + [in] BSTR strResultClass, + [in] BSTR strResultRole, + [in] BSTR strRole, + [in] VARIANT_BOOL bClassesOnly, + [in] VARIANT_BOOL bSchemaOnly, + [in] BSTR strRequiredAssocQualifier, + [in] BSTR strRequiredQualifier, + [in] long iFlags, + [in] IDispatch *objWbemNamedValueSet, + [in] IDispatch *objWbemAsyncContext); + + [ id(13) ] + HRESULT ReferencesTo( + [in] BSTR strObjectPath, + [in] BSTR strResultClass, + [in] BSTR strRole, + [in] VARIANT_BOOL bClassesOnly, + [in] VARIANT_BOOL bSchemaOnly, + [in] BSTR strRequiredQualifier, + [in] long iFlags, + [in] IDispatch *objWbemNamedValueSet, + [out, retval] ISWbemObjectSet **objWbemObjectSet); + + [ id(14) ] + HRESULT ReferencesToAsync( + [in] IDispatch *objWbemSink, + [in] BSTR strObjectPath, + [in] BSTR strResultClass, + [in] BSTR strRole, + [in] VARIANT_BOOL bClassesOnly, + [in] VARIANT_BOOL bSchemaOnly, + [in] BSTR strRequiredQualifier, + [in] long iFlags, + [in] IDispatch *objWbemNamedValueSet, + [in] IDispatch *objWbemAsyncContext); + + [ id(15) ] + HRESULT ExecNotificationQuery( + [in] BSTR strQuery, + [in] BSTR strQueryLanguage, + [in] long iFlags, + [in] IDispatch *objWbemNamedValueSet, + [out, retval] ISWbemEventSource **objWbemEventSource); + + [ id(16) ] + HRESULT ExecNotificationQueryAsync( + [in] IDispatch *objWbemSink, + [in] BSTR strQuery, + [in] BSTR strQueryLanguage, + [in] long iFlags, + [in] IDispatch *objWbemNamedValueSet, + [in] IDispatch *objWbemAsyncContext); + + [ id(17) ] + HRESULT ExecMethod( + [in] BSTR strObjectPath, + [in] BSTR strMethodName, + [in] IDispatch *objWbemInParameters, + [in] long iFlags, + [in] IDispatch *objWbemNamedValueSet, + [out, retval] ISWbemObject **objWbemOutParameters); + + [ id(18) ] + HRESULT ExecMethodAsync( + [in] IDispatch *objWbemSink, + [in] BSTR strObjectPath, + [in] BSTR strMethodName, + [in] IDispatch *objWbemInParameters, + [in] long iFlags, + [in] IDispatch *objWbemNamedValueSet, + [in] IDispatch *objWbemAsyncContext); + + [ id(19), propget ] + HRESULT Security_( + [out, retval] ISWbemSecurity **objWbemSecurity); +}; + +[ + threading(apartment), + uuid(76a64158-cb41-11d1-8b02-00600806d9b6), + progid("WbemScripting.SWbemLocator.1"), + vi_progid("WbemScripting.SWbemLocator") +] +coclass SWbemLocator +{ + interface ISWbemLocator; +}; + +}; /* WbemScripting */
Propchange: trunk/reactos/include/psdk/wbemdisp.idl ------------------------------------------------------------------------------ svn:eol-style = native
Modified: trunk/reactos/media/doc/README.WINE URL: http://svn.reactos.org/svn/reactos/trunk/reactos/media/doc/README.WINE?rev=6... ============================================================================== --- trunk/reactos/media/doc/README.WINE [iso-8859-1] (original) +++ trunk/reactos/media/doc/README.WINE [iso-8859-1] Wed Dec 4 20:44:14 2013 @@ -199,6 +199,7 @@ reactos/dll/win32/uxtheme # Forked reactos/dll/win32/vbscript # Synced to Wine-1.7.1 reactos/dll/win32/version # Synced to Wine-1.7.1 +reactos/dll/win32/wbemdisp # Synced to Wine-1.7.1 reactos/dll/win32/wbemprox # Synced to Wine-1.7.2 reactos/dll/win32/wer # Autosync reactos/dll/win32/windowscodecs # Synced to Wine-1.7.1
Modified: trunk/reactos/media/inf/syssetup.inf URL: http://svn.reactos.org/svn/reactos/trunk/reactos/media/inf/syssetup.inf?rev=... ============================================================================== --- trunk/reactos/media/inf/syssetup.inf [iso-8859-1] (original) +++ trunk/reactos/media/inf/syssetup.inf [iso-8859-1] Wed Dec 4 20:44:14 2013 @@ -101,6 +101,7 @@ 11,,wininet.dll,2 11,,wintrust.dll,1 11,,wuapi.dll,1 +11,wbem,wbemdisp.dll,1 11,wbem,wbemprox.dll,1
[TypeLibraries]