Compartilhar via


Marshal.GetIDispatchForObject(Object) Método

Definição

Retorna uma interface IDispatch de um objeto gerenciado.

public:
 static IntPtr GetIDispatchForObject(System::Object ^ o);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static IntPtr GetIDispatchForObject (object o);
public static IntPtr GetIDispatchForObject (object o);
[System.Security.SecurityCritical]
public static IntPtr GetIDispatchForObject (object o);
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member GetIDispatchForObject : obj -> nativeint
static member GetIDispatchForObject : obj -> nativeint
[<System.Security.SecurityCritical>]
static member GetIDispatchForObject : obj -> nativeint
Public Shared Function GetIDispatchForObject (o As Object) As IntPtr

Parâmetros

o
Object

O objeto cuja interface IDispatch é solicitada.

Retornos

IntPtr

nativeint

O ponteiro IDispatch para o parâmetro o.

Atributos

Exceções

o não dá suporte à interface solicitada.

Comentários

No código gerenciado, você raramente trabalha diretamente com a IDispatch interface . No entanto, GetIDispatchForObject é útil ao chamar um método que expõe um parâmetro de objeto COM como um IntPtr tipo ou com marshaling personalizado. Chamar um objeto com esse método faz com que a contagem de referência incremente no ponteiro da interface antes que o ponteiro seja retornado. Sempre use Marshal.Release para diminuir a contagem de referências depois de terminar com o ponteiro.

Você também pode usar esse método em um objeto gerenciado para obter um ponteiro de interface para o wrapper callable COM para o objeto . Para obter informações adicionais, consulte Wrapper Callable COM.

Aplica-se a

Confira também