Commit c7bb8bd4 authored by Huw Davies's avatar Huw Davies Committed by Alexandre Julliard

oleaut32: Implement GetVarDesc_Proxy and friends.

parent 9235ae2e
...@@ -1448,8 +1448,14 @@ HRESULT CALLBACK ITypeInfo_GetVarDesc_Proxy( ...@@ -1448,8 +1448,14 @@ HRESULT CALLBACK ITypeInfo_GetVarDesc_Proxy(
UINT index, UINT index,
VARDESC** ppVarDesc) VARDESC** ppVarDesc)
{ {
FIXME("not implemented\n"); CLEANLOCALSTORAGE stg;
return E_FAIL; TRACE("(%p, %d, %p)\n", This, index, ppVarDesc);
stg.flags = 0;
stg.pStorage = NULL;
stg.pInterface = NULL;
return ITypeInfo_RemoteGetVarDesc_Proxy(This, index, ppVarDesc, &stg);
} }
HRESULT __RPC_STUB ITypeInfo_GetVarDesc_Stub( HRESULT __RPC_STUB ITypeInfo_GetVarDesc_Stub(
...@@ -1458,8 +1464,18 @@ HRESULT __RPC_STUB ITypeInfo_GetVarDesc_Stub( ...@@ -1458,8 +1464,18 @@ HRESULT __RPC_STUB ITypeInfo_GetVarDesc_Stub(
LPVARDESC* ppVarDesc, LPVARDESC* ppVarDesc,
CLEANLOCALSTORAGE* pDummy) CLEANLOCALSTORAGE* pDummy)
{ {
FIXME("not implemented\n"); HRESULT hr;
return E_FAIL; TRACE("(%p, %d, %p)\n", This, index, ppVarDesc);
hr = ITypeInfo_GetVarDesc(This, index, ppVarDesc);
if(hr != S_OK)
return hr;
pDummy->flags = CLS_VARDESC;
ITypeInfo_AddRef(This);
pDummy->pInterface = (IUnknown*)This;
pDummy->pStorage = ppVarDesc;
return hr;
} }
HRESULT CALLBACK ITypeInfo_GetNames_Proxy( HRESULT CALLBACK ITypeInfo_GetNames_Proxy(
...@@ -1709,14 +1725,23 @@ void CALLBACK ITypeInfo_ReleaseVarDesc_Proxy( ...@@ -1709,14 +1725,23 @@ void CALLBACK ITypeInfo_ReleaseVarDesc_Proxy(
ITypeInfo* This, ITypeInfo* This,
VARDESC* pVarDesc) VARDESC* pVarDesc)
{ {
FIXME("not implemented\n"); TRACE("(%p, %p)\n", This, pVarDesc);
if(pVarDesc->lpstrSchema)
CoTaskMemFree(pVarDesc->lpstrSchema);
if(pVarDesc->varkind == VAR_CONST)
CoTaskMemFree(pVarDesc->u.lpvarValue);
free_embedded_elemdesc(&pVarDesc->elemdescVar);
CoTaskMemFree(pVarDesc);
} }
HRESULT __RPC_STUB ITypeInfo_ReleaseVarDesc_Stub( HRESULT __RPC_STUB ITypeInfo_ReleaseVarDesc_Stub(
ITypeInfo* This) ITypeInfo* This)
{ {
FIXME("not implemented\n"); TRACE("nothing to do\n");
return E_FAIL; return S_OK;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment