- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
在 IConnectionPoint 和 IConnectionPointContainer 的帮助下,我在客户端和 COM 对象之间创建了一个连接。
data->pApp->lpVtbl->QueryInterface(data->pApp, &IID_IUnknown, (void**)&data->pUnknown));
data->pUnknown->lpVtbl->QueryInterface(data->pUnknown, &IID_IConnectionPointContainer, (void**)&data->pConnectionPointContainer));
data->pConnectionPointContainer->lpVtbl->FindConnectionPoint(data->pConnectionPointContainer, &DIID__IApplicationEvents, &data->pConnectionPoint));
data->pConnectionPoint->lpVtbl->Advise(data->pConnectionPoint, (IUnknown*)sink, &sink->dwCookie));
我已经实现了 QueryInterface、AddRef 和 Release。如果 COM 对象将执行 QueryInterface,我将打印 riid。
IID: 0x3 - 0x0 - 0x0 - 0x764D3E14
This-Objekt: 0030EC4C, ppvObject: 0030E2D4
IID: 0x3 - 0x0 - 0x0 - 0x764D3E14
This-Objekt: 0030EC4C, ppvObject: 0030E294
...
如何找出哪些接口(interface)属于 IID?
编辑:
我很乐意使用建议的 IsEqualGUID
将 IID 与我知道的东西进行比较但我不知道我的目标应用程序调用了哪些接口(interface)。
if(IsEqualGUID(iid, &IID_IThisIsWhatIAmLookingFor))
我试图找出我得到的数字属于哪个接口(interface),所以我尝试根据我得到的数字找到接口(interface) IID_IThisIsWhatIAmLookingFor
。实现这是我的下一步。
最佳答案
How can I find out which Interfaces belong to the IID's?
你不能从你持有的接口(interface)指针中分辨出IID
。在代码中,您通常管理特定于特定接口(interface)的变量中的指针,并使用相应的 IID
获取那里的值。
然而,您可以使用感兴趣的 IID
调用另一个 QueryInterface
。请注意,您不能假设每次都获得相同的指针,除非 IID
是 IID_IUnknown
。
关于c - 如何获取接口(interface)属于 ANSI C 中的 IID、IConnectionPoint、IConnectionPointContainer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24387320/
在 IConnectionPoint 和 IConnectionPointContainer 的帮助下,我在客户端和 COM 对象之间创建了一个连接。 data->pApp->lpVtbl->Quer
我是一名优秀的程序员,十分优秀!