Marshal.GetComSlotForMethodInfo(MemberInfo) Метод

Определение

Извлекает ячейку таблицы виртуальных функций (VTBL) для указанного типа MemberInfo, если он предоставлен модели COM.

public:
 static int GetComSlotForMethodInfo(System::Reflection::MemberInfo ^ m);
public static int GetComSlotForMethodInfo (System.Reflection.MemberInfo m);
[System.Security.SecurityCritical]
public static int GetComSlotForMethodInfo (System.Reflection.MemberInfo m);
static member GetComSlotForMethodInfo : System.Reflection.MemberInfo -> int
[<System.Security.SecurityCritical>]
static member GetComSlotForMethodInfo : System.Reflection.MemberInfo -> int
Public Shared Function GetComSlotForMethodInfo (m As MemberInfo) As Integer

Параметры

m
MemberInfo

Объект, представляющий метод интерфейса.

Возвращаемое значение

Идентификатор m ячейки таблицы виртуальных функций (VTBL), если он предоставлен модели COM.

Атрибуты

Исключения

Параметр m имеет значение null.

Параметр m не является объектом MemberInfo.

-или-

Параметр m не является методом интерфейса.

Комментарии

Номер слота (от нуля), возвращенные этим методом, учитывает три метода IUnknown и, возможно, четыре метода IDispatch, что делает значение первого доступного слота равным 3 или 7. GetComSlotForMethodInfoпредоставляет функциональность, противоположную .Marshal.GetMethodInfoForComSlot

Этот метод можно использовать для получения номеров слотов для элементов интерфейсов, которые не видны из COM, и для членов закрытых интерфейсов. Возвращаемые номера слотов соответствуют номерам виртуальных таблиц, которые были бы зарезервированы, если тип был предоставлен com. Com-невидимые члены фактически занимают слот в предоставленной виртуальной таблице, несмотря на то, что клиент COM не может использовать этот слот. Нельзя использовать GetComSlotForMethodInfo в интерфейсе класса путем передачи MemberInfo из класса. Дополнительные сведения см. в разделе Знакомство с интерфейсом класса.

Применяется к

См. также раздел