Marshal.GetMethodInfoForComSlot Method

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

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

public static MemberInfo GetMethodInfoForComSlot (
	Type t,
	int slot,
	ref ComMemberType memberType
public static MemberInfo GetMethodInfoForComSlot (
	Type t, 
	int slot, 
	/** @ref */ ComMemberType memberType
JScript does not support passing value-type arguments by reference.



The type for which the MethodInfo is to be retrieved.


The VTBL slot.


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.

Exception typeCondition


t is not visible from COM.

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).


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.

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

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0, 1.1, 1.0