DECLARE_INTERFACE_(ICallFrame, IUnknown) {
STDMETHOD(QueryInterface)(
THIS_ REFIID riid,
PVOID *ppvObject) PURE;
STDMETHOD_(ULONG, AddRef)(
THIS) PURE;
STDMETHOD_(ULONG, Release)(
THIS) PURE;
STDMETHOD(GetMethodInfo)(
THIS_
CALLFRAMEINFO *pInfo) PURE;
STDMETHOD(GetStackLocation)(
THIS_
ULONG_PTR *pStackLocation) PURE;
STDMETHOD(TransferOwnership)(
THIS_
ICallFrame *pFrame,
BOOL fLock) PURE;
STDMETHOD(CloneIntoBuffer)(
THIS_
PVOID pvBuffer,
ICallFrame **ppFrame) PURE;
STDMETHOD(CloneIntoBufferEx)(
THIS_
PVOID pvBuffer,
CALLFRAME_COPY eFlags,
ICallFrame **ppFrame) PURE;
STDMETHOD(GetDestAddress)(
THIS_
PVOID *ppv) PURE;
};
这个接口提供了一组方法,允许在调用帧之间传递信息、复制调用帧、获取调用帧信息等。请注意,这只是接口的一般定义,具体的实现可能会有所不同。
转载请注明出处:http://www.zyzy.cn/article/detail/24112/Win32 API/Callobj.h/ICallFrame