Win32 API 日本語リファレンス
ホームSystem.Com.CallObj › ICallFrame

ICallFrame

COM
IIDd573b4b0-894e-11d2-b8b6-00c04fb9618a継承元IUnknown自前メソッド開始 vtbl3

メソッド 19

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtblメソッド
3HRESULT GetInfo(CALLFRAMEINFO* pInfo)
4HRESULT GetIIDAndMethod(GUID* pIID, DWORD* piMethod)
5HRESULT GetNames(LPWSTR* pwszInterface, LPWSTR* pwszMethod)
6void* GetStackLocation()
7void SetStackLocation(void* pvStack)
8void SetReturnValue(HRESULT hr)
9HRESULT GetReturnValue()
10HRESULT GetParamInfo(DWORD iparam, CALLFRAMEPARAMINFO* pInfo)
11HRESULT SetParam(DWORD iparam, VARIANT* pvar)
12HRESULT GetParam(DWORD iparam, VARIANT* pvar)
13HRESULT Copy(CALLFRAME_COPY copyControl, ICallFrameWalker* pWalker, ICallFrame** ppFrame)
14HRESULT Free(ICallFrame* pframeArgsDest, ICallFrameWalker* pWalkerDestFree, ICallFrameWalker* pWalkerCopy, DWORD freeFlags, ICallFrameWalker* pWalkerFree, DWORD nullFlags)
15HRESULT FreeParam(DWORD iparam, DWORD freeFlags, ICallFrameWalker* pWalkerFree, DWORD nullFlags)
16HRESULT WalkFrame(DWORD walkWhat, ICallFrameWalker* pWalker)
17HRESULT GetMarshalSizeMax(CALLFRAME_MARSHALCONTEXT* pmshlContext, MSHLFLAGS mshlflags, DWORD* pcbBufferNeeded)
18HRESULT Marshal(CALLFRAME_MARSHALCONTEXT* pmshlContext, MSHLFLAGS mshlflags, void* pBuffer, DWORD cbBuffer, DWORD* pcbBufferUsed, DWORD* pdataRep, DWORD* prpcFlags)
19HRESULT Unmarshal(void* pBuffer, DWORD cbBuffer, DWORD dataRep, CALLFRAME_MARSHALCONTEXT* pcontext, DWORD* pcbUnmarshalled)
20HRESULT ReleaseMarshalData(void* pBuffer, DWORD cbBuffer, DWORD ibFirstRelease, DWORD dataRep, CALLFRAME_MARSHALCONTEXT* pcontext)
21HRESULT Invoke(void* pvReceiver)