Export (0) Print
Expand All
Expand Minimize

Marshal.GetMethodInfoForComSlot Method

Retrieves MethodInfo for the specified virtual function table (VTBL) slot.

[Visual Basic]
Public Shared Function GetMethodInfoForComSlot( _
   ByVal t As Type, _
   ByVal slot As Integer, _
   ByRef memberType As ComMemberType _
) As MemberInfo
[C#]
public static MemberInfo GetMethodInfoForComSlot(
 Type t,
 int slot,
   ref ComMemberType memberType
);
[C++]
public: static MemberInfo* GetMethodInfoForComSlot(
 Type* t,
 int slot,
 ComMemberType* memberType
);
[JScript]
public static function GetMethodInfoForComSlot(
   t : Type,
 slot : int,
 memberType : ComMemberType
) : MemberInfo;

Parameters

t
The type for which the MethodInfo is to be retrieved.
slot
The VTBL slot.
memberType
On successful return, the type of the member. This is one of the ComMemberType enumeration members.

Return Value

The MemberInfo that represents the member at the specified VTBL (also called v-table) slot.

Exceptions

Exception Type Condition
ArgumentException t is not visible from COM.

Remarks

The zero-based slot number returned by this method accounts for three IUnknown and possibly four IDispatch methods, making the value of the first available slot either 3 or 7. GetMethodInfoForComSlot provides the opposite functionality of Marshal.GetComSlotForMethodInfo. You can use Marshal.GetEndComSlot and Marshal.GetStartComSlot in conjunction with GetMethodInfoForComSlot to pass slots within a specified range.

The memberType parameter is only important on return. It contains the type of the COM member that corresponds to the returned MemberInfo: a regular method or a property accessor (get, set, or other).

Note   This method uses SecurityAction.LinkDemand to prevent it from being called from untrusted code; only the immediate caller is required to have SecurityPermissionAttribute.UnmanagedCode permission. If your code can be called from partially trusted code, do not pass user input to Marshal class methods without validation. For important limitations on using the LinkDemand member, see Demand vs. LinkDemand.

Requirements

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

.NET Framework Security: 

See Also

Marshal Class | Marshal Members | System.Runtime.InteropServices Namespace | GetComSlotForMethodInfo | GetEndComSlot | GetStartComSlot | ComMemberType

Show:
© 2015 Microsoft