mirror of
https://github.com/reactos/reactos.git
synced 2024-08-19 01:48:11 +00:00
[WBEMDISP] Sync with Wine Staging 2.2. CORE-12823
11ebda0 wbemdisp: Add ISWbemSecurity stub interface. 61f0bda wbemdisp: Implement ISWbemObjectSet::ItemIndex. b47462d wbemdisp: Return interface pointers from QI, not object pointers. svn path=/trunk/; revision=73978
This commit is contained in:
parent
8230cf186e
commit
1d4a6469bb
|
@ -142,7 +142,7 @@ static HRESULT WINAPI object_QueryInterface(
|
||||||
IsEqualGUID( riid, &IID_IDispatch ) ||
|
IsEqualGUID( riid, &IID_IDispatch ) ||
|
||||||
IsEqualGUID( riid, &IID_IUnknown ))
|
IsEqualGUID( riid, &IID_IUnknown ))
|
||||||
{
|
{
|
||||||
*ppvObject = object;
|
*ppvObject = iface;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -386,7 +386,7 @@ static HRESULT WINAPI objectset_QueryInterface(
|
||||||
IsEqualGUID( riid, &IID_IDispatch ) ||
|
IsEqualGUID( riid, &IID_IDispatch ) ||
|
||||||
IsEqualGUID( riid, &IID_IUnknown ))
|
IsEqualGUID( riid, &IID_IUnknown ))
|
||||||
{
|
{
|
||||||
*ppvObject = objectset;
|
*ppvObject = iface;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -525,8 +525,39 @@ static HRESULT WINAPI objectset_ItemIndex(
|
||||||
LONG lIndex,
|
LONG lIndex,
|
||||||
ISWbemObject **objWbemObject )
|
ISWbemObject **objWbemObject )
|
||||||
{
|
{
|
||||||
FIXME( "\n" );
|
struct objectset *objectset = impl_from_ISWbemObjectSet( iface );
|
||||||
return E_NOTIMPL;
|
LONG count;
|
||||||
|
HRESULT hr;
|
||||||
|
IEnumVARIANT *enum_var;
|
||||||
|
VARIANT var;
|
||||||
|
|
||||||
|
TRACE( "%p, %d, %p\n", objectset, lIndex, objWbemObject );
|
||||||
|
|
||||||
|
*objWbemObject = NULL;
|
||||||
|
hr = ISWbemObjectSet_get_Count( iface, &count );
|
||||||
|
if (FAILED(hr)) return hr;
|
||||||
|
|
||||||
|
if (lIndex >= count) return WBEM_E_NOT_FOUND;
|
||||||
|
|
||||||
|
hr = ISWbemObjectSet_get__NewEnum( iface, (IUnknown **)&enum_var );
|
||||||
|
if (FAILED(hr)) return hr;
|
||||||
|
|
||||||
|
IEnumVARIANT_Reset( enum_var );
|
||||||
|
hr = IEnumVARIANT_Skip( enum_var, lIndex );
|
||||||
|
if (SUCCEEDED(hr))
|
||||||
|
hr = IEnumVARIANT_Next( enum_var, 1, &var, NULL );
|
||||||
|
IEnumVARIANT_Release( enum_var );
|
||||||
|
|
||||||
|
if (SUCCEEDED(hr))
|
||||||
|
{
|
||||||
|
if (V_VT( &var ) == VT_DISPATCH)
|
||||||
|
hr = IDispatch_QueryInterface( V_DISPATCH( &var ), &IID_ISWbemObject, (void **)objWbemObject );
|
||||||
|
else
|
||||||
|
hr = WBEM_E_NOT_FOUND;
|
||||||
|
VariantClear( &var );
|
||||||
|
}
|
||||||
|
|
||||||
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
static const ISWbemObjectSetVtbl objectset_vtbl =
|
static const ISWbemObjectSetVtbl objectset_vtbl =
|
||||||
|
@ -617,7 +648,7 @@ static HRESULT WINAPI enumvar_QueryInterface(
|
||||||
if (IsEqualGUID( riid, &IID_IEnumVARIANT ) ||
|
if (IsEqualGUID( riid, &IID_IEnumVARIANT ) ||
|
||||||
IsEqualGUID( riid, &IID_IUnknown ))
|
IsEqualGUID( riid, &IID_IUnknown ))
|
||||||
{
|
{
|
||||||
*ppvObject = enumvar;
|
*ppvObject = iface;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -750,7 +781,7 @@ static HRESULT WINAPI services_QueryInterface(
|
||||||
IsEqualGUID( riid, &IID_IDispatch ) ||
|
IsEqualGUID( riid, &IID_IDispatch ) ||
|
||||||
IsEqualGUID( riid, &IID_IUnknown ))
|
IsEqualGUID( riid, &IID_IUnknown ))
|
||||||
{
|
{
|
||||||
*ppvObject = services;
|
*ppvObject = iface;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -194,7 +194,7 @@ reactos/dll/win32/uxtheme # Forked
|
||||||
reactos/dll/win32/vbscript # Synced to WineStaging-1.9.23
|
reactos/dll/win32/vbscript # Synced to WineStaging-1.9.23
|
||||||
reactos/dll/win32/version # Synced to WineStaging-1.9.11
|
reactos/dll/win32/version # Synced to WineStaging-1.9.11
|
||||||
reactos/dll/win32/vssapi # Synced to WineStaging-1.9.11
|
reactos/dll/win32/vssapi # Synced to WineStaging-1.9.11
|
||||||
reactos/dll/win32/wbemdisp # Synced to WineStaging-1.9.16
|
reactos/dll/win32/wbemdisp # Synced to WineStaging-2.2
|
||||||
reactos/dll/win32/wbemprox # Synced to WineStaging-1.9.23
|
reactos/dll/win32/wbemprox # Synced to WineStaging-1.9.23
|
||||||
reactos/dll/win32/windowscodecs # Synced to WineStaging-1.9.23
|
reactos/dll/win32/windowscodecs # Synced to WineStaging-1.9.23
|
||||||
reactos/dll/win32/windowscodecsext # Synced to WineStaging-1.9.11
|
reactos/dll/win32/windowscodecsext # Synced to WineStaging-1.9.11
|
||||||
|
|
Loading…
Reference in a new issue