Evaluar y enviar comentarios
MSDN
MSDN Library
 GetComInterfaceForObject (Método)
Contraer todo/Expandir todo Contraer todo
Esta página es específica de
Microsoft Visual Studio 2005/.NET Framework 2.0

Hay además otras versiones disponibles para:
Biblioteca de clases de .NET Framework
Marshal.GetComInterfaceForObject (Método)

Devuelve un puntero de interfaz que representa la interfaz especificada para el objeto.

Espacio de nombres: System.Runtime.InteropServices
Ensamblado: mscorlib (en mscorlib.dll)

Visual Basic (Declaración)
Public Shared Function GetComInterfaceForObject ( _
    o As Object, _
    T As Type _
) As IntPtr
Visual Basic (Uso)
Dim o As Object
Dim T As Type
Dim returnValue As IntPtr

returnValue = Marshal.GetComInterfaceForObject(o, T)
C#
public static IntPtr GetComInterfaceForObject (
    Object o,
    Type T
)
C++
public:
static IntPtr GetComInterfaceForObject (
    Object^ o, 
    Type^ T
)
J#
public static IntPtr GetComInterfaceForObject (
    Object o, 
    Type T
)
JScript
public static function GetComInterfaceForObject (
    o : Object, 
    T : Type
) : IntPtr

Parámetros

o

Objeto que proporciona la interfaz.

T

Type de interfaz que se solicita.

Valor devuelto

Puntero de interfaz que representa la interfaz para el objeto.
Tipo de excepciónCondición

ArgumentException

El parámetro T no es una interfaz.

O bien

El tipo no es visible para COM.

O bien,

El parámetro T es un tipo genérico.

InvalidCastException

El parámetro o no admite la interfaz solicitada.

ArgumentNullException

El parámetro o es referencia de objeto null (Nothing en Visual Basic)

O bien

El parámetro T es referencia de objeto null (Nothing en Visual Basic)

Este método devuelve un puntero de interfaz que representa la interfaz solicitada en el objeto especificado. Es particularmente útil si tiene un método no administrado al que se espera que se le pase un puntero de interfaz. Al llamar a un objeto con este método, el contador de referencia aumenta en el puntero de interfaz antes de que se devuelva el puntero. Utilice siempre Marshal.Release para disminuir el recuento de referencias cuando haya terminado con el puntero. Debe cumplir las reglas definidas por COM cuando utilice los punteros de interfaz COM sin formato.

GetComInterfaceForObject resulta útil cuando se llama a un método que expone un parámetro de objeto COM como un tipo IntPtr o con el cálculo de referencias personalizado. Aunque es una práctica menos común, puede utilizar este método en un objeto administrado para obtener un puntero al contenedor COM del objeto al que se puede llamar. Puede utilizar, por ejemplo, GetComInterfaceForObject en un objeto administrado que se exporte a COM con el fin de obtener un puntero de interfaz para System.Runtime.InteropServices.UCOMIConnectionPointContainer. No puede obtener un puntero a una interfaz de clase, ya que ésta no contiene el tipo correspondiente que se pasa al segundo parámetro (t). En su lugar, utilice Marshal.GetIDispatchForObject para invocar a los miembros en la interfaz predeterminada del contenedor COM al que se puede llamar, la cual suele ser una interfaz de clase de distribución automática.

Para obtener más información sobre los contenedores a los que se puede llamar en tiempo de ejecución y los contenedores COM a los que se puede llamar, vea Contenedores COM. Para obtener más información sobre las interfaces de clase, vea Presentar la interfaz de clase.

NotaNota

Este método utiliza SecurityAction.LinkDemand para evitar que se le llame desde código que no sea de confianza; sólo el llamador inmediato debe disponer del permiso SecurityPermissionAttribute.UnmanagedCode. Si se puede llamar al código desde código de confianza parcial, no pase ninguna entrada de usuario a los métodos de la clase Marshal sin validación. Para conocer las limitaciones importantes que existen a la hora de utilizar el miembro LinkDemand, vea Demand frente a LinkDemand.

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter Edition

.NET Framework no admite todas las versiones de cada plataforma. Para obtener una lista de las versiones admitidas, vea Requisitos del sistema.

.NET Framework

Compatible con: 2.0, 1.1, 1.0

.NET Compact Framework

Compatible con: 2.0
Contenido de la comunidad   ¿Qué es Community Content?
Agregar contenido nuevo RSS  Anotaciones
Processing
© 2012 Microsoft. Reservados todos los derechos. Términos de uso | Marcas Registradas | Privacidad
Page view tracker