Udostępnij za pośrednictwem


Marshal.GetComSlotForMethodInfo(MemberInfo) Metoda

Definicja

Pobiera gniazdo tabeli funkcji wirtualnych (v-table lub VTBL) dla określonego MemberInfo typu, gdy ten typ jest uwidoczniony dla modelu 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

Parametry

m
MemberInfo

Obiekt reprezentujący metodę interfejsu.

Zwraca

Identyfikator gniazda m VTBL, gdy jest uwidoczniony w modelu COM.

Atrybuty

Wyjątki

Parametr m ma wartość null.

Parametr m nie jest obiektem MemberInfo .

-lub-

Parametr m nie jest metodą interfejsu.

Uwagi

Numer gniazda zerowego zwrócony przez tę metodę odpowiada trzem metodom IUnknown i prawdopodobnie czterem metodom IDispatch , dzięki czemu wartość pierwszego dostępnego miejsca wynosi 3 lub 7. GetComSlotForMethodInfo zapewnia odwrotną funkcjonalność programu Marshal.GetMethodInfoForComSlot.

Za pomocą tej metody można pobrać numery miejsc dla elementów członkowskich interfejsów, które nie są widoczne z modelu COM i dla elementów członkowskich interfejsów prywatnych. Zwrócone numery gniazd odpowiadają numerom tabeli wirtualnej, które byłyby zarezerwowane, jeśli typ został uwidoczniony w modelu COM. Niewidoczne elementy członkowskie COM rzeczywiście zajmują miejsce w ujawnionej tabeli v-table, mimo że klient COM nie może użyć gniazda. Nie można używać GetComSlotForMethodInfo w interfejsie klasy, przekazując MemberInfo z klasy. Aby uzyskać dodatkowe informacje, zobacz Wprowadzenie do interfejsu klasy.

Dotyczy

Zobacz też