📄 usrmarshal.c
字号:
UINT index,
LPVARDESC* ppVarDesc,
CLEANLOCALSTORAGE* pDummy)
{
HRESULT hr;
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(
ITypeInfo* This,
MEMBERID memid,
BSTR* rgBstrNames,
UINT cMaxNames,
UINT* pcNames)
{
FIXME("not implemented\n");
return E_FAIL;
}
HRESULT __RPC_STUB ITypeInfo_GetNames_Stub(
ITypeInfo* This,
MEMBERID memid,
BSTR* rgBstrNames,
UINT cMaxNames,
UINT* pcNames)
{
FIXME("not implemented\n");
return E_FAIL;
}
HRESULT CALLBACK ITypeInfo_GetIDsOfNames_Proxy(
ITypeInfo* This,
LPOLESTR* rgszNames,
UINT cNames,
MEMBERID* pMemId)
{
FIXME("not implemented\n");
return E_FAIL;
}
HRESULT __RPC_STUB ITypeInfo_GetIDsOfNames_Stub(
ITypeInfo* This)
{
FIXME("not implemented\n");
return E_FAIL;
}
HRESULT CALLBACK ITypeInfo_Invoke_Proxy(
ITypeInfo* This,
PVOID pvInstance,
MEMBERID memid,
WORD wFlags,
DISPPARAMS* pDispParams,
VARIANT* pVarResult,
EXCEPINFO* pExcepInfo,
UINT* puArgErr)
{
FIXME("not implemented\n");
return E_FAIL;
}
HRESULT __RPC_STUB ITypeInfo_Invoke_Stub(
ITypeInfo* This)
{
FIXME("not implemented\n");
return E_FAIL;
}
HRESULT CALLBACK ITypeInfo_GetDocumentation_Proxy(
ITypeInfo* This,
MEMBERID memid,
BSTR* pBstrName,
BSTR* pBstrDocString,
DWORD* pdwHelpContext,
BSTR* pBstrHelpFile)
{
DWORD help_context;
BSTR name, doc_string, help_file;
HRESULT hr;
TRACE("(%p, %08x, %p, %p, %p, %p)\n", This, memid, pBstrName, pBstrDocString, pdwHelpContext, pBstrHelpFile);
/* FIXME: presumably refPtrFlags is supposed to be a bitmask of which ptrs we actually want? */
hr = ITypeInfo_RemoteGetDocumentation_Proxy(This, memid, 0, &name, &doc_string, &help_context, &help_file);
if(SUCCEEDED(hr))
{
if(pBstrName) *pBstrName = name;
else SysFreeString(name);
if(pBstrDocString) *pBstrDocString = doc_string;
else SysFreeString(doc_string);
if(pBstrHelpFile) *pBstrHelpFile = help_file;
else SysFreeString(help_file);
if(pdwHelpContext) *pdwHelpContext = help_context;
}
return hr;
}
HRESULT __RPC_STUB ITypeInfo_GetDocumentation_Stub(
ITypeInfo* This,
MEMBERID memid,
DWORD refPtrFlags,
BSTR* pBstrName,
BSTR* pBstrDocString,
DWORD* pdwHelpContext,
BSTR* pBstrHelpFile)
{
TRACE("(%p, %08x, %08x, %p, %p, %p, %p)\n", This, memid, refPtrFlags, pBstrName, pBstrDocString,
pdwHelpContext, pBstrHelpFile);
return ITypeInfo_GetDocumentation(This, memid, pBstrName, pBstrDocString, pdwHelpContext, pBstrHelpFile);
}
HRESULT CALLBACK ITypeInfo_GetDllEntry_Proxy(
ITypeInfo* This,
MEMBERID memid,
INVOKEKIND invKind,
BSTR* pBstrDllName,
BSTR* pBstrName,
WORD* pwOrdinal)
{
FIXME("not implemented\n");
return E_FAIL;
}
HRESULT __RPC_STUB ITypeInfo_GetDllEntry_Stub(
ITypeInfo* This,
MEMBERID memid,
INVOKEKIND invKind,
DWORD refPtrFlags,
BSTR* pBstrDllName,
BSTR* pBstrName,
WORD* pwOrdinal)
{
FIXME("not implemented\n");
return E_FAIL;
}
HRESULT CALLBACK ITypeInfo_AddressOfMember_Proxy(
ITypeInfo* This,
MEMBERID memid,
INVOKEKIND invKind,
PVOID* ppv)
{
FIXME("not implemented\n");
return E_FAIL;
}
HRESULT __RPC_STUB ITypeInfo_AddressOfMember_Stub(
ITypeInfo* This)
{
FIXME("not implemented\n");
return E_FAIL;
}
HRESULT CALLBACK ITypeInfo_CreateInstance_Proxy(
ITypeInfo* This,
IUnknown* pUnkOuter,
REFIID riid,
PVOID* ppvObj)
{
FIXME("not implemented\n");
return E_FAIL;
}
HRESULT __RPC_STUB ITypeInfo_CreateInstance_Stub(
ITypeInfo* This,
REFIID riid,
IUnknown** ppvObj)
{
FIXME("not implemented\n");
return E_FAIL;
}
HRESULT CALLBACK ITypeInfo_GetContainingTypeLib_Proxy(
ITypeInfo* This,
ITypeLib** ppTLib,
UINT* pIndex)
{
ITypeLib *pTL;
UINT index;
HRESULT hr;
TRACE("(%p, %p, %p)\n", This, ppTLib, pIndex );
hr = ITypeInfo_RemoteGetContainingTypeLib_Proxy(This, &pTL, &index);
if(SUCCEEDED(hr))
{
if(pIndex)
*pIndex = index;
if(ppTLib)
*ppTLib = pTL;
else
ITypeLib_Release(pTL);
}
return hr;
}
HRESULT __RPC_STUB ITypeInfo_GetContainingTypeLib_Stub(
ITypeInfo* This,
ITypeLib** ppTLib,
UINT* pIndex)
{
TRACE("(%p, %p, %p)\n", This, ppTLib, pIndex );
return ITypeInfo_GetContainingTypeLib(This, ppTLib, pIndex);
}
void CALLBACK ITypeInfo_ReleaseTypeAttr_Proxy(
ITypeInfo* This,
TYPEATTR* pTypeAttr)
{
TRACE("(%p, %p)\n", This, pTypeAttr);
free_embedded_typedesc(&pTypeAttr->tdescAlias);
CoTaskMemFree(pTypeAttr);
}
HRESULT __RPC_STUB ITypeInfo_ReleaseTypeAttr_Stub(
ITypeInfo* This)
{
TRACE("nothing to do\n");
return S_OK;
}
void CALLBACK ITypeInfo_ReleaseFuncDesc_Proxy(
ITypeInfo* This,
FUNCDESC* pFuncDesc)
{
SHORT param;
TRACE("(%p, %p)\n", This, pFuncDesc);
for(param = 0; param < pFuncDesc->cParams; param++)
free_embedded_elemdesc(pFuncDesc->lprgelemdescParam + param);
if(param)
CoTaskMemFree(pFuncDesc->lprgelemdescParam);
free_embedded_elemdesc(&pFuncDesc->elemdescFunc);
if(pFuncDesc->cScodes != 0 && pFuncDesc->cScodes != -1)
CoTaskMemFree(pFuncDesc->lprgscode);
CoTaskMemFree(pFuncDesc);
}
HRESULT __RPC_STUB ITypeInfo_ReleaseFuncDesc_Stub(
ITypeInfo* This)
{
TRACE("nothing to do\n");
return S_OK;
}
void CALLBACK ITypeInfo_ReleaseVarDesc_Proxy(
ITypeInfo* This,
VARDESC* pVarDesc)
{
TRACE("(%p, %p)\n", This, pVarDesc);
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(
ITypeInfo* This)
{
TRACE("nothing to do\n");
return S_OK;
}
/* ITypeInfo2 */
HRESULT CALLBACK ITypeInfo2_GetDocumentation2_Proxy(
ITypeInfo2* This,
MEMBERID memid,
LCID lcid,
BSTR* pbstrHelpString,
DWORD* pdwHelpStringContext,
BSTR* pbstrHelpStringDll)
{
FIXME("not implemented\n");
return E_FAIL;
}
HRESULT __RPC_STUB ITypeInfo2_GetDocumentation2_Stub(
ITypeInfo2* This,
MEMBERID memid,
LCID lcid,
DWORD refPtrFlags,
BSTR* pbstrHelpString,
DWORD* pdwHelpStringContext,
BSTR* pbstrHelpStringDll)
{
FIXME("not implemented\n");
return E_FAIL;
}
/* ITypeLib */
UINT CALLBACK ITypeLib_GetTypeInfoCount_Proxy(
ITypeLib* This)
{
UINT count = 0;
TRACE("(%p)\n", This);
ITypeLib_RemoteGetTypeInfoCount_Proxy(This, &count);
return count;
}
HRESULT __RPC_STUB ITypeLib_GetTypeInfoCount_Stub(
ITypeLib* This,
UINT* pcTInfo)
{
TRACE("(%p, %p)\n", This, pcTInfo);
*pcTInfo = ITypeLib_GetTypeInfoCount(This);
return S_OK;
}
HRESULT CALLBACK ITypeLib_GetLibAttr_Proxy(
ITypeLib* This,
TLIBATTR** ppTLibAttr)
{
CLEANLOCALSTORAGE stg;
TRACE("(%p, %p)\n", This, ppTLibAttr);
stg.flags = 0;
stg.pStorage = NULL;
stg.pInterface = NULL;
return ITypeLib_RemoteGetLibAttr_Proxy(This, ppTLibAttr, &stg);
}
HRESULT __RPC_STUB ITypeLib_GetLibAttr_Stub(
ITypeLib* This,
LPTLIBATTR* ppTLibAttr,
CLEANLOCALSTORAGE* pDummy)
{
HRESULT hr;
TRACE("(%p, %p)\n", This, ppTLibAttr);
hr = ITypeLib_GetLibAttr(This, ppTLibAttr);
if(hr != S_OK)
return hr;
pDummy->flags = CLS_LIBATTR;
ITypeLib_AddRef(This);
pDummy->pInterface = (IUnknown*)This;
pDummy->pStorage = ppTLibAttr;
return hr;
}
HRESULT CALLBACK ITypeLib_GetDocumentation_Proxy(
ITypeLib* This,
INT index,
BSTR* pBstrName,
BSTR* pBstrDocString,
DWORD* pdwHelpContext,
BSTR* pBstrHelpFile)
{
FIXME("not implemented\n");
return E_FAIL;
}
HRESULT __RPC_STUB ITypeLib_GetDocumentation_Stub(
ITypeLib* This,
INT index,
DWORD refPtrFlags,
BSTR* pBstrName,
BSTR* pBstrDocString,
DWORD* pdwHelpContext,
BSTR* pBstrHelpFile)
{
FIXME("not implemented\n");
return E_FAIL;
}
HRESULT CALLBACK ITypeLib_IsName_Proxy(
ITypeLib* This,
LPOLESTR szNameBuf,
ULONG lHashVal,
BOOL* pfName)
{
FIXME("not implemented\n");
return E_FAIL;
}
HRESULT __RPC_STUB ITypeLib_IsName_Stub(
ITypeLib* This,
LPOLESTR szNameBuf,
ULONG lHashVal,
BOOL* pfName,
BSTR* pBstrLibName)
{
FIXME("not implemented\n");
return E_FAIL;
}
HRESULT CALLBACK ITypeLib_FindName_Proxy(
ITypeLib* This,
LPOLESTR szNameBuf,
ULONG lHashVal,
ITypeInfo** ppTInfo,
MEMBERID* rgMemId,
USHORT* pcFound)
{
FIXME("not implemented\n");
return E_FAIL;
}
HRESULT __RPC_STUB ITypeLib_FindName_Stub(
ITypeLib* This,
LPOLESTR szNameBuf,
ULONG lHashVal,
ITypeInfo** ppTInfo,
MEMBERID* rgMemId,
USHORT* pcFound,
BSTR* pBstrLibName)
{
FIXME("not implemented\n");
return E_FAIL;
}
void CALLBACK ITypeLib_ReleaseTLibAttr_Proxy(
ITypeLib* This,
TLIBATTR* pTLibAttr)
{
TRACE("(%p, %p)\n", This, pTLibAttr);
CoTaskMemFree(pTLibAttr);
}
HRESULT __RPC_STUB ITypeLib_ReleaseTLibAttr_Stub(
ITypeLib* This)
{
TRACE("nothing to do\n");
return S_OK;
}
/* ITypeLib2 */
HRESULT CALLBACK ITypeLib2_GetLibStatistics_Proxy(
ITypeLib2* This,
ULONG* pcUniqueNames,
ULONG* pcchUniqueNames)
{
FIXME("not implemented\n");
return E_FAIL;
}
HRESULT __RPC_STUB ITypeLib2_GetLibStatistics_Stub(
ITypeLib2* This,
ULONG* pcUniqueNames,
ULONG* pcchUniqueNames)
{
FIXME("not implemented\n");
return E_FAIL;
}
HRESULT CALLBACK ITypeLib2_GetDocumentation2_Proxy(
ITypeLib2* This,
INT index,
LCID lcid,
BSTR* pbstrHelpString,
DWORD* pdwHelpStringContext,
BSTR* pbstrHelpStringDll)
{
FIXME("not implemented\n");
return E_FAIL;
}
HRESULT __RPC_STUB ITypeLib2_GetDocumentation2_Stub(
ITypeLib2* This,
INT index,
LCID lcid,
DWORD refPtrFlags,
BSTR* pbstrHelpString,
DWORD* pdwHelpStringContext,
BSTR* pbstrHelpStringDll)
{
FIXME("not implemented\n");
return E_FAIL;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -