Condividi tramite


Metodo IAsyncReader::SyncRead (strmif.h)

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, FMMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, FMMediaEngine e Audio/Video Capture in Media Foundation anziché DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

Il SyncRead metodo esegue una lettura sincrona. Il metodo blocca fino al completamento della richiesta. Le posizioni del file e l'indirizzo del buffer non devono essere allineati. Se la richiesta non è allineata, il metodo esegue un'operazione di lettura con buffer.

Sintassi

HRESULT SyncRead(
  [in]  LONGLONG llPosition,
  [in]  LONG     lLength,
  [out] BYTE     *pBuffer
);

Parametri

[in] llPosition

Specifica l'offset di byte in corrispondenza del quale iniziare la lettura. Il metodo ha esito negativo se questo valore è oltre la fine del file.

[in] lLength

Specifica il numero di byte da leggere.

[out] pBuffer

Puntatore a un buffer che riceve i dati.

Valore restituito

Restituisce un valore HRESULT . Di seguito sono indicati alcuni valori possibili.

Codice restituito Descrizione
S_FALSE
Recuperate meno byte rispetto alle richieste. Probabilmente la fine del file è stata raggiunta.
S_OK
Operazione completata.

Commenti

Questo metodo funziona anche se il filtro viene arrestato.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione strmif.h (include Dshow.h)
Libreria Strmiids.lib

Vedi anche

Codici errore e esito positivo

Interfaccia IAsyncReader

IAsyncReader::SyncReadAligned