IMarshal::DisconnectObject
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 |