Metodo IAsyncReader::SyncReadAligned (strmif.h)
[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, IMFMediaEngine 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, IMFMediaEngine e Audio/Video Capture in Media Foundation invece di DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.
Il SyncReadAligned
metodo esegue una lettura sincrona. Il metodo si blocca fino al completamento della richiesta. Le posizioni del file e l'indirizzo del buffer devono essere allineati; controllare le proprietà dell'allocatore per l'allineamento richiesto.
Sintassi
HRESULT SyncReadAligned(
IMediaSample *pSample
);
Parametri
pSample
Puntatore all'interfaccia IMediaSample di un campione multimediale fornito dal chiamante.
Valore restituito
Restituisce un valore HRESULT . Di seguito sono indicati alcuni valori possibili.
Codice restituito | Descrizione |
---|---|
|
Allineamento non valido. |
|
È stato recuperato un numero inferiore di byte rispetto a quello richiesto. Probabilmente la fine del file è stata raggiunta. |
|
Operazione completata. |
Commenti
Prima di chiamare questo metodo, recuperare un campione multimediale dall'allocatore del pin. Timestamp dell'esempio con gli offset di byte richiesti, first e last inclusive, moltiplicati per 10.000.000. Gli offset di byte sono relativi all'inizio del flusso.
Le posizioni di inizio e arresto devono corrispondere all'allineamento che è stato deciso quando i pin sono connessi. In caso contrario, il metodo restituisce VFW_E_BADALIGN. Se l'allineamento concordato è più grossolano rispetto all'allineamento effettivo del flusso, la posizione di interruzione potrebbe superare la durata reale. In tal caso, il metodo arrotonda la posizione di arresto verso il basso fino all'allineamento effettivo.
Questo metodo esegue una lettura non memorizzata nel buffer, quindi potrebbe essere più veloce del metodo IAsyncReader::SyncRead .
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 |