diff --git a/dll/win32/wbemdisp/locator.c b/dll/win32/wbemdisp/locator.c index 1fb5ee44dc8..951e4648d0a 100644 --- a/dll/win32/wbemdisp/locator.c +++ b/dll/win32/wbemdisp/locator.c @@ -21,7 +21,6 @@ #include static HRESULT EnumVARIANT_create( IEnumWbemClassObject *, IEnumVARIANT ** ); -static HRESULT ISWbemSecurity_create( ISWbemSecurity ** ); enum type_id { @@ -31,7 +30,6 @@ enum type_id ISWbemProperty_tid, ISWbemPropertySet_tid, ISWbemServices_tid, - ISWbemSecurity_tid, last_tid }; @@ -45,8 +43,7 @@ static REFIID wbemdisp_tid_id[] = &IID_ISWbemObjectSet, &IID_ISWbemProperty, &IID_ISWbemPropertySet, - &IID_ISWbemServices, - &IID_ISWbemSecurity + &IID_ISWbemServices }; static HRESULT get_typeinfo( enum type_id tid, ITypeInfo **ret ) @@ -1859,12 +1856,8 @@ static HRESULT WINAPI services_get_Security_( ISWbemServices *iface, ISWbemSecurity **objWbemSecurity ) { - TRACE( "%p, %p\n", iface, objWbemSecurity ); - - if (!objWbemSecurity) - return E_INVALIDARG; - - return ISWbemSecurity_create( objWbemSecurity ); + FIXME( "\n" ); + return E_NOTIMPL; } static const ISWbemServicesVtbl services_vtbl = @@ -2118,12 +2111,8 @@ static HRESULT WINAPI locator_get_Security_( ISWbemLocator *iface, ISWbemSecurity **objWbemSecurity ) { - TRACE( "%p, %p\n", iface, objWbemSecurity ); - - if (!objWbemSecurity) - return E_INVALIDARG; - - return ISWbemSecurity_create( objWbemSecurity ); + FIXME( "%p, %p\n", iface, objWbemSecurity ); + return E_NOTIMPL; } static const ISWbemLocatorVtbl locator_vtbl = @@ -2154,231 +2143,3 @@ HRESULT SWbemLocator_create( void **obj ) TRACE( "returning iface %p\n", *obj ); return S_OK; } - -struct security -{ - ISWbemSecurity ISWbemSecurity_iface; - LONG refs; - WbemImpersonationLevelEnum implevel; - WbemAuthenticationLevelEnum authlevel; -}; - -static inline struct security *impl_from_ISWbemSecurity( ISWbemSecurity *iface ) -{ - return CONTAINING_RECORD( iface, struct security, ISWbemSecurity_iface ); -} - -static ULONG WINAPI security_AddRef( - ISWbemSecurity *iface ) -{ - struct security *security = impl_from_ISWbemSecurity( iface ); - return InterlockedIncrement( &security->refs ); -} - -static ULONG WINAPI security_Release( - ISWbemSecurity *iface ) -{ - struct security *security = impl_from_ISWbemSecurity( iface ); - LONG refs = InterlockedDecrement( &security->refs ); - if (!refs) - { - TRACE( "destroying %p\n", security ); - heap_free( security ); - } - return refs; -} - -static HRESULT WINAPI security_QueryInterface( - ISWbemSecurity *iface, - REFIID riid, - void **ppvObject ) -{ - struct security *security = impl_from_ISWbemSecurity( iface ); - TRACE( "%p, %s, %p\n", security, debugstr_guid( riid ), ppvObject ); - - if (IsEqualGUID( riid, &IID_ISWbemSecurity ) || - IsEqualGUID( riid, &IID_IDispatch ) || - IsEqualGUID( riid, &IID_IUnknown )) - { - *ppvObject = iface; - } - else - { - FIXME( "interface %s not implemented\n", debugstr_guid(riid) ); - return E_NOINTERFACE; - } - ISWbemSecurity_AddRef( iface ); - return S_OK; -} - -static HRESULT WINAPI security_GetTypeInfoCount( - ISWbemSecurity *iface, - UINT *count ) -{ - struct security *security = impl_from_ISWbemSecurity( iface ); - TRACE( "%p, %p\n", security, count ); - - *count = 1; - return S_OK; -} - -static HRESULT WINAPI security_GetTypeInfo( - ISWbemSecurity *iface, - UINT index, - LCID lcid, - ITypeInfo **info ) -{ - struct security *security = impl_from_ISWbemSecurity( iface ); - TRACE( "%p, %u, %u, %p\n", security, index, lcid, info ); - - return get_typeinfo( ISWbemSecurity_tid, info ); -} - -static HRESULT WINAPI security_GetIDsOfNames( - ISWbemSecurity *iface, - REFIID riid, - LPOLESTR *names, - UINT count, - LCID lcid, - DISPID *dispid ) -{ - struct security *security = impl_from_ISWbemSecurity( iface ); - ITypeInfo *typeinfo; - HRESULT hr; - - TRACE( "%p, %s, %p, %u, %u, %p\n", security, debugstr_guid(riid), names, count, lcid, dispid ); - - if (!names || !count || !dispid) return E_INVALIDARG; - - hr = get_typeinfo( ISWbemSecurity_tid, &typeinfo ); - if (SUCCEEDED(hr)) - { - hr = ITypeInfo_GetIDsOfNames( typeinfo, names, count, dispid ); - ITypeInfo_Release( typeinfo ); - } - return hr; -} - -static HRESULT WINAPI security_Invoke( - ISWbemSecurity *iface, - DISPID member, - REFIID riid, - LCID lcid, - WORD flags, - DISPPARAMS *params, - VARIANT *result, - EXCEPINFO *excep_info, - UINT *arg_err ) -{ - struct security *security = impl_from_ISWbemSecurity( iface ); - ITypeInfo *typeinfo; - HRESULT hr; - - TRACE( "%p, %d, %s, %d, %d, %p, %p, %p, %p\n", security, member, debugstr_guid(riid), - lcid, flags, params, result, excep_info, arg_err ); - - hr = get_typeinfo( ISWbemSecurity_tid, &typeinfo ); - if (SUCCEEDED(hr)) - { - hr = ITypeInfo_Invoke( typeinfo, &security->ISWbemSecurity_iface, member, flags, - params, result, excep_info, arg_err ); - ITypeInfo_Release( typeinfo ); - } - return hr; -} - -static HRESULT WINAPI security_get_ImpersonationLevel_( - ISWbemSecurity *iface, - WbemImpersonationLevelEnum *impersonation_level ) -{ - struct security *security = impl_from_ISWbemSecurity( iface ); - FIXME( "%p, %p: stub\n", security, impersonation_level ); - - if (!impersonation_level) - return E_INVALIDARG; - - *impersonation_level = security->implevel; - return S_OK; -} - -static HRESULT WINAPI security_put_ImpersonationLevel_( - ISWbemSecurity *iface, - WbemImpersonationLevelEnum impersonation_level ) -{ - struct security *security = impl_from_ISWbemSecurity( iface ); - FIXME( "%p, %d: stub\n", security, impersonation_level ); - - security->implevel = impersonation_level; - return S_OK; -} - -static HRESULT WINAPI security_get_AuthenticationLevel_( - ISWbemSecurity *iface, - WbemAuthenticationLevelEnum *authentication_level ) -{ - struct security *security = impl_from_ISWbemSecurity( iface ); - FIXME( "%p, %p: stub\n", security, authentication_level ); - - if (!authentication_level) - return E_INVALIDARG; - - *authentication_level = security->authlevel; - return S_OK; -} - -static HRESULT WINAPI security_put_AuthenticationLevel_( - ISWbemSecurity *iface, - WbemAuthenticationLevelEnum authentication_level ) -{ - struct security *security = impl_from_ISWbemSecurity( iface ); - FIXME( "%p, %d: stub\n", security, authentication_level ); - - security->authlevel = authentication_level; - return S_OK; -} - -static HRESULT WINAPI security_get_Privileges_( - ISWbemSecurity *iface, - ISWbemPrivilegeSet **privilege_set ) -{ - struct security *security = impl_from_ISWbemSecurity( iface ); - FIXME( "%p, %p: stub\n", security, privilege_set ); - - if (!privilege_set) - return E_INVALIDARG; - - return E_NOTIMPL; -} - -static const ISWbemSecurityVtbl security_vtbl = -{ - security_QueryInterface, - security_AddRef, - security_Release, - security_GetTypeInfoCount, - security_GetTypeInfo, - security_GetIDsOfNames, - security_Invoke, - security_get_ImpersonationLevel_, - security_put_ImpersonationLevel_, - security_get_AuthenticationLevel_, - security_put_AuthenticationLevel_, - security_get_Privileges_ -}; - -static HRESULT ISWbemSecurity_create( ISWbemSecurity **obj ) -{ - struct security *security; - - TRACE( "%p\n", obj ); - - if (!(security = heap_alloc( sizeof(*security) ))) return E_OUTOFMEMORY; - security->ISWbemSecurity_iface.lpVtbl = &security_vtbl; - security->refs = 1; - security->implevel = wbemImpersonationLevelAnonymous; - security->authlevel = wbemAuthenticationLevelDefault; - - *obj = &security->ISWbemSecurity_iface; - TRACE( "returning iface %p\n", *obj ); - return S_OK; -} diff --git a/media/doc/README.WINE b/media/doc/README.WINE index 06521769800..84c078affb0 100644 --- a/media/doc/README.WINE +++ b/media/doc/README.WINE @@ -194,7 +194,7 @@ reactos/dll/win32/uxtheme # Forked reactos/dll/win32/vbscript # Synced to Wine-3.0 reactos/dll/win32/version # Synced to Wine-3.0 reactos/dll/win32/vssapi # Synced to WineStaging-2.9 -reactos/dll/win32/wbemdisp # Synced to WineStaging-2.16 +reactos/dll/win32/wbemdisp # Synced to Wine-3.0 reactos/dll/win32/wbemprox # Synced to WineStaging-2.16 reactos/dll/win32/windowscodecs # Synced to WineStaging-2.16 reactos/dll/win32/windowscodecsext # Synced to WineStaging-2.9