Compartilhar via


Método ICallFrame::Unmarshal (callobj.h)

Desmarca um pacote de dados que contém os parâmetros [out] previamente empacotados de uma chamada para esse registro de ativação já existente.

Sintaxe

HRESULT Unmarshal(
  [in]  PVOID                    pBuffer,
  [in]  ULONG                    cbBuffer,
  [in]  RPCOLEDATAREP            dataRep,
  [in]  CALLFRAME_MARSHALCONTEXT *pcontext,
  [out] ULONG                    *pcbUnmarshalled
);

Parâmetros

[in] pBuffer

Um ponteiro para o buffer que contém os valores [out] marshaled.

[in] cbBuffer

O tamanho do buffer, em bytes.

[in] dataRep

A representação de dados NDR com a qual os dados foram empacotados. Para obter mais informações, consulte IRpcChannelBuffer::GetBuffer.

[in] pcontext

Um ponteiro para a estrutura CALLFRAME_MARSHALCONTEXT que contém informações de contexto sobre como o unmarshalling é realizado.

[out] pcbUnmarshalled

Recebe o número de bytes que foram unmarshaled com êxito. Esse parâmetro é retornado mesmo em situações de erro. Esse parâmetro é opcional.

Retornar valor

Esse método pode retornar os valores a seguir.

Código de retorno Descrição
S_OK
O método foi concluído com sucesso.
E_UNEXPECTED
Ocorreu um erro inesperado.

Comentários

Ao cancelar a consulta, as versões [in] dos parâmetros [in, out] são liberadas e os ponteiros de interface são liberados e substituídos por suas versões [out]. Todos os parâmetros [in, out] e [out] sempre serão definidos como valores razoáveis [in], [in, out], [out], valores [out] não marcados com êxito dos dados retornados ou um valor inicializado explicitamente como NULL. No retorno de falha, o chamador normalmente deseja chamar ICallFrame::Free para limpo os valores que não são NULL.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho callobj.h

Confira também

ICallFrame