[英]Enumerate list of COM interface implemented through C# COM Interop
我正在查詢實現如下的MFC實現的COM對象:
class CA :
public MfcComLib::IA
{
...
};
class CB :
public MfcComLib::IB
{
...
};
class ATL_NO_VTABLE CExposedCoClass :
public CComObjectRootEx<CComSingleThreadModel>,
public CA,
public CB
{
public:
BEGIN_COM_MAP(CExposedCoClass )
COM_INTERFACE_ENTRY(MfcComLib::IA)
COM_INTERFACE_ENTRY(MfcComLib::IB)
END_COM_MAP()
在C#端,我收到一個IUnknown ptr,它作為對象進入。 我已經導入TypeLib並獲得了接口MfcComLibLib.IA,但是當我進行轉換時,由於未實現接口而導致失敗。
有沒有一種方法可以查詢IUnknown指針以發現對象上實際實現了哪些接口?
與管理接口的方法相同。 您使用C# is
或as
運算符。 CLR將在后台映射到QueryInterface調用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.