Freigeben über


IAsyncReader::SyncRead-Methode (strmif.h)

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde durch MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation ersetzt. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet. Microsoft schlägt vor, vorhandenen Code, der die Legacy-APIs verwendet, um nach Möglichkeit die neuen APIs zu verwenden.]

Die SyncRead -Methode führt einen synchronen Lesevorgang aus. Die -Methode blockiert, bis die Anforderung abgeschlossen ist. Die Dateipositionen und die Pufferadresse müssen nicht ausgerichtet werden. Wenn die Anforderung nicht ausgerichtet ist, führt die Methode einen gepufferten Lesevorgang aus.

Syntax

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

Parameter

[in] llPosition

Gibt den Byteoffset an, bei dem mit dem Lesen begonnen werden soll. Die Methode schlägt fehl, wenn dieser Wert über das Ende der Datei hinaus liegt.

[in] lLength

Gibt die Anzahl der zu lesenden Bytes an.

[out] pBuffer

Zeiger auf einen Puffer, der die Daten empfängt.

Rückgabewert

Gibt einen HRESULT-Wert zurück. Die folgenden Werte sind möglich.

Rückgabecode Beschreibung
S_FALSE
Weniger Bytes als angefordert abgerufen. (Wahrscheinlich wurde das Ende der Datei erreicht.)
S_OK
Erfolg.

Hinweise

Diese Methode funktioniert auch, wenn der Filter beendet wird.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile strmif.h (include Dshow.h)
Bibliothek Strmiids.lib

Weitere Informationen

Fehler- und Erfolgscodes

IAsyncReader-Schnittstelle

IAsyncReader::SyncReadAligned