Evaluar y enviar comentarios
MSDN
MSDN Library
 ReleaseComObject (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.ReleaseComObject (Método)

Disminuye el valor del contador de referencias del contenedor al que se puede llamar en tiempo de ejecución.

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

Visual Basic (Declaración)
Public Shared Function ReleaseComObject ( _
    o As Object _
) As Integer
Visual Basic (Uso)
Dim o As Object
Dim returnValue As Integer

returnValue = Marshal.ReleaseComObject(o)
C#
public static int ReleaseComObject (
    Object o
)
C++
public:
static int ReleaseComObject (
    Object^ o
)
J#
public static int ReleaseComObject (
    Object o
)
JScript
public static function ReleaseComObject (
    o : Object
) : int

Parámetros

o

Objeto COM que se va a liberar.

Valor devuelto

Nuevo valor del contador de referencias del contenedor al que se puede llamar en tiempo de ejecución y que está asociado a o. Este valor suele ser cero ya que el contenedor al que se puede llamar en tiempo de ejecución conserva una sola referencia al objeto COM incluido en el contenedor, independientemente del número de clientes administrados que lo llamen.
Tipo de excepciónCondición

ArgumentException

o no es un objeto COM válido.

O bien

o es referencia de objeto null (Nothing en Visual Basic).

Cada vez que un puntero de interfaz COM utiliza Common Language Runtime, se incluye en un contenedor al que se puede llamar en tiempo de ejecución. Si no está familiarizado con las características de este contenedor, vea Contenedor al que se puede llamar en tiempo de ejecución.

Este método se utiliza para controlar de manera explícita la vida de un objeto COM utilizado en el código administrado. Debe utilizar este método para liberar adecuadamente el objeto COM subyacente que conserva referencias a los recursos o cuando los objetos deben liberarse en un orden específico.

Este contenedor al que se puede llamar en tiempo de ejecución tiene un contador de referencia que se incrementa cada vez que se le asigna un puntero de interfaz COM. El método ReleaseComObject disminuye el valor del contador de referencias de un contenedor al que se puede llamar en tiempo de ejecución. Cuando el contador de referencias llega a cero, el motor en tiempo de ejecución libera todas sus referencias en el objeto COM no administrado y produce una excepción System.NullReferenceException si intenta seguir utilizando el objeto. Si se pasa varias veces la misma interfaz COM de código no administrado a código administrado, el contador de referencias del contenedor se incrementa cada vez y, al llamar al método ReleaseComObject, se devuelve el número de referencias restantes.

NotaNota

Para asegurarse de que se liberan el contenedor al que se puede llamar en tiempo de ejecución y el objeto COM original, cree un bucle para llamar a este método hasta que el valor devuelto del contador de referencias llegue a cero.

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