Compartilhar via


CoUnmarshalInterface

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

Essa função inicializa um proxy recém-criado usando dados gravados na transmitir por um chamar anterior para o CoMarshalInterface função e retorna um ponteiro interface para esse proxy.

Syntax

STDAPI CoUnmarshalInterface(
  IStream* pStm,
  REFIID riid,
  void** ppv
);

Parameters

  • pStm
    [no] Ponteiro para a transmitir a partir da qual a interface é ser unmarshaled.
  • riid
    [no] Referência ao identificador da interface seja unmarshaled.
  • PPV
    [out] Endereço do ponteiro variável que recebe o ponteiro interface solicitado em riid. Após bem-sucedido retornar *PPV Contém o ponteiro interface solicitada para a interface unmarshaled.

Return Value

Essa função suporta o padrão valor de retorno E_FAIL, bem como o seguinte:

  • S_OK
    O ponteiro interface foi unmarshaled com êxito.
  • STG_E_INVALIDPOINTER
    pStm é um inválido ponteiro.
  • CO_E_NOTINITIALIZED
    O CoInitialize função não foi chamado na atual segmento antes essa função foi chamado.
  • CO_E_OBJNOTCONNECTED
    O aplicativo objeto foi desconectado do sistema arquitetura de comunicação remota (de exemplo, as a result of um chamar para o CoDisconnectObject função).
  • REGDB_E_CLASSNOTREG
    Erro ao ler o banco de dados registro.

Remarks

O CoUnmarshalInterface função executa a seguinte tarefas:

  1. Lê a partir de transmitir o CLSID a ser usado para criar uma instância do proxy.
  2. Obtém um IMarshal ponteiro para o proxy que é fazer o desempacotamento.
    Se o objeto usa implementação empacotamento usar como padrão do COM, o ponteiro assim obtido é para uma instância do genérico objeto proxy.
    Se o empacotamento está ocorrendo entre dois segmentos no mesmo processo, o ponteiro é uma instância do in-processo empacotador de segmentos livres.
    Se o objeto fornece sua própria codificar empacotamento, CoUnmarshalInterface Chamadas de CoCreateInstance função, passando o CLSID-ler a partir de transmitir empacotamento.
    CoCreateInstance Cria uma instância de proxy do objeto e retorna um IMarshal ponteiro interface para o proxy.
  3. Usando que IMarshal ponteiro interface que ele foi adquirido, em seguida, chama a função IMarshal::UnmarshalInterface e, se apropriado, IMarshal::ReleaseMarshalData.

O primário chamador desta função está COM em si, de dentro proxies interface ou stubs que desempacotar um ponteiro interface.

Há, no entanto, algumas situações em que o aplicativo pode chamar CoUnmarshalInterface. De exemplo, quando estiver implementando um stub, ele irá chamar CoUnmarshalInterface Quando o stub recebe um ponteiro interface como um parâmetro no chamar método.

Para determinar se a plataforma oferece suporte a essa função, consulte Determinando suporte COM APIs.

Requirements

Header objbase.h
Library ole32.lib
Windows Embedded CE Windows CE 3.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also

Reference

COM Functions