Freigeben über


Marshal.GetMethodInfoForComSlot-Methode

Ruft MethodInfo für den angegebenen VTBL-Slot (Virtual Function Table) ab.

Namespace: System.Runtime.InteropServices
Assembly: mscorlib (in mscorlib.dll)

Syntax

'Declaration
Public Shared Function GetMethodInfoForComSlot ( _
    t As Type, _
    slot As Integer, _
    ByRef memberType As ComMemberType _
) As MemberInfo
'Usage
Dim t As Type
Dim slot As Integer
Dim memberType As ComMemberType
Dim returnValue As MemberInfo

returnValue = Marshal.GetMethodInfoForComSlot(t, slot, memberType)
public static MemberInfo GetMethodInfoForComSlot (
    Type t,
    int slot,
    ref ComMemberType memberType
)
public:
static MemberInfo^ GetMethodInfoForComSlot (
    Type^ t, 
    int slot, 
    ComMemberType% memberType
)
public static MemberInfo GetMethodInfoForComSlot (
    Type t, 
    int slot, 
    /** @ref */ ComMemberType memberType
)
JScript unterstützt die Übergabe von Werttypargumenten als Verweis nicht.

Parameter

  • t
    Der Typ, für den die MethodInfo abgerufen werden soll.
  • slot
    Der VTBL-Slot.
  • memberType
    Bei erfolgreicher Rückgabe der Typ des Members. Dies ist einer der ComMemberType-Enumerationsmember.

Rückgabewert

Die MemberInfo, die den Member am angegebenen VTBL-Slot (auch als Vtable bezeichnet) darstellt.

Ausnahmen

Ausnahmetyp Bedingung

ArgumentException

t ist für COM nicht sichtbar.

Hinweise

Die von dieser Methode zurückgegebene, nullbasierte Slotnummer steht für drei IUnknown-Methoden und evtl. vier IDispatch-Methoden, die den Wert des ersten verfügbaren Slots als entweder 3 oder 7 definieren. GetMethodInfoForComSlot stellt die Umkehrfunktionen von Marshal.GetComSlotForMethodInfo bereit. Sie können Marshal.GetEndComSlot und Marshal.GetStartComSlot in Verbindung mit GetMethodInfoForComSlot verwenden, um Slots in einem angegebenen Bereich zu übergeben.

Der memberType-Parameter ist nur bei der Rückgabe wichtig. Er enthält den Typ des COM-Members, der der zurückgegebenen MemberInfo entspricht: eine normale Methode oder ein Eigenschaftenaccessor (get, set u. a.).

Hinweis

Diese Methode verwendet SecurityAction.LinkDemand, um einen Aufruf aus nicht vertrauenswürdigem Code zu verhindern. Nur der direkte Aufrufer muss über die SecurityPermissionAttribute.UnmanagedCode-Berechtigung verfügen. Wenn der Code aus teilweise vertrauenswürdigem Code aufgerufen werden kann, dürfen Benutzereingaben nicht ohne Validierung an Methoden der Marshal-Klasse übergeben werden. Wichtige Einschränkungen bei der Verwendung des LinkDemand-Members finden Sie unter "Demand" und "LinkDemand".

.NET Framework-Sicherheit

Plattformen

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

Marshal-Klasse
Marshal-Member
System.Runtime.InteropServices-Namespace
GetComSlotForMethodInfo
GetEndComSlot
GetStartComSlot
ComMemberType-Enumeration