簡體   English   中英

枚舉通過C#COM Interop實現的COM接口列表

[英]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# isas運算符。 CLR將在后台映射到QueryInterface調用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM