Método IOpcFactory::ReadPackageFromStream (msopc.h)
Desserializa os dados do pacote de um fluxo e cria um objeto de pacote para representar o pacote que está sendo lido. Embora um objeto de API de Empacotamento obtido do objeto package ou do próprio objeto de pacote ainda esteja em uso, o fluxo pode ser usado para acessar dados do pacote.
Sintaxe
HRESULT ReadPackageFromStream(
[in] IStream *stream,
[in] OPC_READ_FLAGS flags,
[out, retval] IOpcPackage **package
);
Parâmetros
[in] stream
Um ponteiro para a interface IStream do fluxo.
O fluxo deve ser legível, podendo ser buscado, ter tamanho e conter dados de pacote. Além disso, se o fluxo não for clonável, ele será armazenado em buffer e lido sequencialmente, incorrendo em sobrecarga.
[in] flags
O valor que especifica as configurações de leitura para armazenar em cache os componentes do pacote e validá-los em relação aos requisitos de conformidade do OPC .
[out, retval] package
Um ponteiro para a interface IOpcPackage do objeto package que representa o pacote que está sendo lido pelo fluxo.
Retornar valor
O método retorna um HRESULT. Os possíveis valores incluem, mas sem limitação, aqueles na tabela a seguir.
Código de retorno | Descrição |
---|---|
|
O método foi bem-sucedido. |
|
O valor passado no parâmetro flags não é válido OPC_READ_FLAGS valor de enumeração. |
|
Esse método não é implementado para esta versão do Windows. |
|
Pelo menos um dos parâmetros de fluxo e pacote é NULL. |
|
Um código de erro HRESULT da interface IStream . |
|
Um código de erro HRESULT do Grupo de Erros de Consumo de Pacote. |
|
Um código de erro HRESULT do Grupo de Erros do URI de Parte. |
Comentários
Não use um fluxo para serializar dados de pacote quando o mesmo fluxo estiver sendo usado para desserializar um pacote, pois a tentativa pode resultar em um comportamento indefinido.
As APIs de Empacotamento podem interagir com pacotes que mapeiam um arquivo ZIP conforme especificado no OPC e que se baseiam na codificação Zip32 (ZIP 2.0) ou Zip64 (ZIP 4.5).
Para obter informações sobre como usar esse método para carregar um pacote, consulte a tarefa Carregando um pacote de programação.
Suporte em versões anteriores do Windows
Esse método não tem suporte em versões do Windows antes do Windows 7. Para obter mais informações, consulte Introdução com a API de Empacotamento e Atualização de Plataforma para Windows Vista.Acesso thread-safe
Os objetos de empacotamento não são thread-safe.
Para obter mais informações, consulte o Introdução com a API de Empacotamento.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 7 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 R2 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | msopc.h |
Confira também
Introdução com a API de Empacotamento
Visões gerais
Guia de Programação da API de Empacotamento
Referência da API de Empacotamento
Exemplos de API de empacotamento
Atualização de plataforma para Windows Vista
Referência