nonComVisibleBaseClass MDA

nonComVisibleBaseClassمدارة التصحيح assهوtant (MDA) هو تنشيط متى QueryInterfaceاستدعاء هو التي تمت بواسطة رمز أصلي أو غير المدارة تشغيل برنامج تضمين استدعاء COM (CCW) من COM-vهوible بمدارة فئة مشتقة من أساس للفئات التي هو لا COM vهوible. QueryInterfaceيؤدي استدعاء من MDA إلى تنشيط فقط في الحالات الموقع يطلب استدعاء واجهة فئة أو الافتراضي IDispatchمن COM-مرئي مدارة class. MDA هو لم تنشيط متى QueryInterfaceهو لواجهة واضحة له ClassInterfaceAttributeتطبيق السمة و هو مطبقة بوضوح فئة. COM-vهوible

الأعراض

QueryInterfaceرمز المكالمات التي تم إجراؤها من الأصلية التي هو الفشل مع HRESULT COR_E_INVALIDOPERATION. قد يكون HRESULT استحقاق إلى وقت التشغيل يمنع QueryInterfaceالمكالمات التي قد يتسبب تنشيط هذا MDA.

السبب

وقت التشغيل لا يسمح QueryInterfaceاستدعاءات واجهة فئة أو الافتراضي IDispatchواجهة لفئة COM-vهوible مشتقة من فئة التي هو COM-vهوible لا نتيجة مشاكل في الإصدارات المحتملة. على سبيل المثال، إذا تمت تمت الإضافة أي الأعضاء العمومي للفئة الأساسية غير مرئي COM، عملاء COM موجود باستخدام الفئة المشتقة قد يحتمل أن يكون قطع لأنه قد يكون تغيير vtable الفئة المشتقة، والتي تحتوي على الأعضاء فئة الأساس، بواسطة إجراء تغيير. لا تحتوي الواجهات صريح إلى COM هذه المشكلة لأن أنها لا تضمين الأعضاء واجهات أساسية vtable.

الدقة

لا تعرض واجهة الفئة. تعريف واجهة واضحة و تطبيق ClassInterfaceAttributeسمة إلى it.

التأثير تشغيل وقت التشغيل

MDA هذا أي تأثير تشغيل CLR.

الإخراج

يلي هو رسالة مثال QueryInterfaceاستدعاء على فئة COM-vهوible Derivedالتي مشتقة من فئة non-COM-vهوible Base.

A QueryInterface call was made requesting the class interface of COM 
visible managed class 'Derived'. However since this class derives from 
non COM visible class 'Base', the QueryInterface call will fail. This 
is done to prevent the non COM visible base class from being 
constrained by the COM versioning rules. 

التكوين

<mdaConfig>
  <assistants>
    <nonComVisibleBaseClass />
  </assistants>
</mdaConfig>

راجع أيضًا:

المرجع

MarshalAsAttribute

المبادئ

تشخيص الأخطاء مع المساعدين التصحيح مدارة

تنظيم إمكانية التشغيل المتداخل

موارد أخرى

إمكانية التشغيل المتداخل