Metodo ISequentialStream::Read (objidl.h)
Il metodo Read legge un numero specificato di byte dall'oggetto flusso in memoria, a partire dal puntatore di ricerca corrente.
Sintassi
HRESULT Read(
[out] void *pv,
[in] ULONG cb,
[out] ULONG *pcbRead
);
Parametri
[out] pv
Puntatore al buffer in cui vengono letti i dati del flusso.
[in] cb
Numero di byte di dati da leggere dall'oggetto flusso.
[out] pcbRead
Puntatore a una variabile ULONG che riceve il numero effettivo di byte letti dall'oggetto flusso.
Valore restituito
Questo metodo può restituire uno di questi valori.
Codice restituito | Descrizione |
---|---|
S_OK | Tutti i dati richiesti sono stati letti correttamente dall'oggetto flusso; il numero di byte richiesti in cb corrisponde al numero di byte restituiti in pcbRead. |
S_FALSE | Il valore restituito in pcbRead è minore del numero di byte richiesti in cb. Ciò indica che è stata raggiunta la fine del flusso. Il numero di byte letti indica la quantità di buffer pv riempita. |
E_PENDING | Solo archiviazione asincrona: parte o tutti i dati da leggere non sono attualmente disponibili. |
STG_E_ACCESSDENIED | Il chiamante non dispone delle autorizzazioni necessarie per leggere questo oggetto flusso. |
STG_E_INVALIDPOINTER | Uno dei valori del puntatore non è valido. |
STG_E_REVERTED | L'oggetto è stato invalidato da un'operazione di ripristino sopra di essa nell'albero delle transazioni. |
Commenti
Questo metodo legge i byte da questo oggetto flusso in memoria. L'oggetto flusso deve essere aperto in modalità STGM_READ . Questo metodo regola il puntatore di ricerca in base al numero effettivo di byte letti.
Il numero di byte effettivamente letti viene restituito anche nel parametro pcbRead .
Note ai chiamanti
Il numero effettivo di byte letti può essere minore del numero di byte richiesti se si verifica un errore o se viene raggiunta la fine del flusso durante l'operazione di lettura. Il numero di byte restituiti deve essere sempre confrontato con il numero di byte richiesti. Se il numero di byte restituiti è minore del numero di byte richiesti, in genere significa che il metodo Read ha tentato di leggere oltre la fine del flusso.L'applicazione deve gestire sia un errore restituito che S_OK valori restituiti nelle operazioni di lettura end-of-stream.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 Professional [app desktop | App UWP] |
Server minimo supportato | Windows 2000 Server [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | objidl.h |
Libreria | Uuid.lib |
DLL | Ole32.dll |