Compartilhar via


IMarshal::DisconnectObject

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

Esse método libera forçosamente externo todas as conexões a um objeto. Servidor do objeto chama implementação do objeto deste método prior to desligado.

Syntax

HRESULT DisconnectObject(
  DWORD dwReserved 
);

Parameters

  • dwReserved
    [no] Reservado para uso futuro; Deve ser zero.

    Para garantir compatibilidade com uso futuro, DisConnectObject Deve não verificar para zero.

Return Value

O método suporta o padrão valor de retorno E_FAIL, bem como o seguinte:

  • S_OK
    O objeto foi desconectado com êxito.

Remarks

Este método é implementado sobre o objeto, não o proxy.

Para determinar se a plataforma oferece suporte a esta interface, consulte Determinando suporte COM APIs.

Notas para chamadores

A maiúsculas e minúsculas comum no qual esse método é chamado ocorre quando um usuário fecha forçosamente um servidor COM que tenha execução uma ou mais objetos que implementar IMarshal.

Antes para desligar, chamadas de servidor o CoDisconnectObject função auxiliar para servidor externo conexões para todas as sua execução objetos.

Para cada objeto que implementa IMarshal; No entanto, essa função chama IMarshal::DisconnectObject, para que cada objeto que gerencia sua própria empacotamento possa tirar as etapas para notificar seu proxy que ele está prestes a desligar.

Notas para Implementers

Como parte do seu padrão codificar desligamento, um servidor deve chamar o CoDisconnectObject função, que chama in TURN IMarshal::DisconnectObject, em cada um dos seu execução objetos que implementa IMarshal.

O resultado de qualquer implementação desse método deve ser para habilitar um proxy para responder a chamadas subseqüentes todos do seu cliente por retornando RPC_E_DISCONNECTED ou CO_E_OBJECTNOTCONNECTED rather than tentando ENC as chamadas on to o original objeto. Ele é destruir o proxy naturalmente, up to o cliente.

Se você estiver implementando esse método para um imutável objeto, such as um moniker, sua implementação não é necessário fazer nada porque esses objetos são geralmente copiados toda espaço de endereço do cliente. Por isso, eles possuem uma conexão para o original nem um proxy objeto.

Para obter mais informações sobre empacotamento imutável objetos, consulte IMarshal.

Requirements

Header objidl.h, objidl.idl
Library ole32.lib, uuid.lib
Windows Embedded CE Windows CE 3.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also

Reference

CoDisconnectObject