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
ячейки таблицы виртуальных функций (VTBL), если он предоставлен модели COM.
- Атрибуты
Исключения
Параметр m
имеет значение null
.
Комментарии
Номер слота (от нуля), возвращенные этим методом, учитывает три метода IUnknown и, возможно, четыре метода IDispatch, что делает значение первого доступного слота равным 3 или 7. GetComSlotForMethodInfo предоставляет противоположные функции Marshal.GetMethodInfoForComSlot.
Этот метод можно использовать для получения номеров слотов для членов интерфейсов, которые не отображаются из COM и для членов закрытых интерфейсов. Возвращенные номера слотов соответствуют номерам виртуальных таблиц, которые будут зарезервированы, если тип был предоставлен com. Члены COM-невидимые фактически занимают слот в открытой виртуальной таблице, даже если com-клиент не может использовать слот. Нельзя использовать GetComSlotForMethodInfo в интерфейсе класса путем передачи MemberInfo из класса. Дополнительные сведения см. в разделе "Знакомство с интерфейсом класса".