Compartilhar via


IMarshal::UnmarshalInterface

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

Este método inicializa um proxy recém-criado e retorna um ponteiro interface para esse proxy.

Syntax

HRESULT UnmarshalInterface(
  IStream* pStm,
  REFIID riid,
  void** ppv 
);

Parameters

  • pStm
    [no] Ponteiro para transmitir a partir do qual o ponteiro interface deve 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 no riid. Após bem-sucedido retornar *PPV Contém o ponteiro interface solicitada da interface seja unmarshaled.

Return Value

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

  • S_OK
    O ponteiro interface foi unmarshaled com êxito.
  • E_NOINTERFACE
    A interface especificada não foi com suporte.

Remarks

A biblioteca COM no processo onde desempacotamento é a implementação do proxy deste método chama ocorrer.

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

Notas para chamadores

Não chamar este método diretamente. Há, no entanto, algumas situações em que você pode chamar ele indiretamente por um chamar para CoUnmarshalInterface. De exemplo, se você estiver implementando um stub, sua implementação poderia chamar CoUnmarshalInterface Quando o stub recebe um ponteiro interface como um parâmetro no chamar método.

Notas para Implementers

Implementação do proxy deve ler os dados gravados para a transmitir pelo original de implementação do objeto IMarshal::MarshalInterface e usar esse dados para inicializar o objeto proxy cujo CLSID foi retornado ao chamar do stub de empacotamento para o original de implementação do objeto IMarshal::GetUnmarshalClass.

Para retornar o apropriado interface ponteiro, a implementação proxy pode simplesmente chamar Falha de QueryInterface sobre si mesmo, passando o riid e PPV Parâmetros. No entanto, a implementação de UnmarshalInterface está livre para criar um objeto diferente e, se necessário, retornar um ponteiro para ele.

Antes de sair, mesmo se você sair com um erro, sua implementação deve reposicionamento o ponteiro de busca na transmitir imediatamente após o último byte de ler dados.

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

IMarshal::GetUnmarshalClass
IMarshal::MarshalInterface