Condividi tramite


Metodo IOpcFactory::ReadPackageFromStream (msopc.h)

Deserializza i dati del pacchetto da un flusso e crea un oggetto pacchetto per rappresentare il pacchetto da leggere. Anche se un oggetto API packaging ottenuto dall'oggetto package o dall'oggetto package stesso, è ancora in uso, il flusso può essere usato per accedere ai dati del pacchetto.

Sintassi

HRESULT ReadPackageFromStream(
  [in]          IStream        *stream,
  [in]          OPC_READ_FLAGS flags,
  [out, retval] IOpcPackage    **package
);

Parametri

[in] stream

Puntatore all'interfaccia IStream del flusso.

Il flusso deve essere leggibile, ricercabile, con dimensioni e deve contenere dati del pacchetto. Inoltre, se il flusso non è clonabile, verrà memorizzato nel buffer e in lettura in sequenza, in caso di sovraccarico.

[in] flags

Valore che specifica le impostazioni di lettura per la memorizzazione nella cache dei componenti del pacchetto e convalidarli in base ai requisiti di conformità OPC .

[out, retval] package

Puntatore all'interfaccia IOpcPackage dell'oggetto package che rappresenta il pacchetto letto tramite il flusso.

Valore restituito

Il metodo restituisce un HRESULT. I valori possibili includono, ma non sono limitati a, quelli indicati nella tabella seguente.

Codice restituito Descrizione
S_OK
Il metodo è riuscito.
E_INVALIDARG
Il valore passato nel parametro flags non è un valore di enumerazione valido OPC_READ_FLAGS .
E_NOTIMPL
Questo metodo non viene implementato per questa versione di Windows.
E_POINTER
Almeno uno dei parametri del flusso e del pacchetto è NULL.
Errore dell'interfaccia IStream
Codice di errore HRESULT dall'interfaccia IStream .
Errore di consumo del pacchetto
Codice di errore HRESULT dal gruppo di errori consumo pacchetto.
Errore dell'URI parte
Codice di errore HRESULT dal gruppo di errori dell'URI parte.

Commenti

Non usare un flusso per serializzare i dati del pacchetto quando lo stesso flusso viene usato per deserializzare un pacchetto, perché il tentativo potrebbe causare un comportamento non definito.

Le API di creazione pacchetti possono interagire con i pacchetti che mappano un archivio ZIP come specificato nell'OPC e che si basano sulla codifica Zip32 (ZIP 2.0) o Zip64 (ZIP 4.5).

Per informazioni su come usare questo metodo per caricare un pacchetto, vedere l'attività Caricamento di un pacchetto .

Supporto nelle versioni precedenti di Windows

Questo metodo non è supportato nelle versioni di Windows precedenti a Windows 7. Per altre informazioni, vedere Introduzione con l'API Creazione pacchetti e l'aggiornamento della piattaforma per Windows Vista.

Thread safety

Gli oggetti di creazione dei pacchetti non sono thread-safe.

Per altre informazioni, vedere l'Introduzione con l'API Creazione pacchetti.

Requisiti

Requisito Valore
Client minimo supportato Windows 7 [solo app desktop]
Server minimo supportato Windows Server 2008 R2 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione msopc.h

Vedi anche

Introduzione con l'API Creazione pacchetti

IOpcFactory

Caricamento di un pacchetto

OPC_READ_FLAGS

Cenni preliminari

Guida alla programmazione dell'API per la creazione di pacchetti

Informazioni di riferimento sulle API per la creazione di pacchetti

Esempi di API di creazione di pacchetti

Errori di creazione pacchetti

Aggiornamento della piattaforma per Windows Vista

Riferimento