IAsyncReader::SyncRead method (strmif.h)

[The feature associated with this page, DirectShow, is a legacy feature. It has been superseded by MediaPlayer, IMFMediaEngine, and Audio/Video Capture in Media Foundation. Those features have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use MediaPlayer, IMFMediaEngine and Audio/Video Capture in Media Foundation instead of DirectShow, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]

The SyncRead method performs a synchronous read. The method blocks until the request is completed. The file positions and the buffer address do not have to be aligned. If the request is not aligned, the method performs a buffered read operation.

Syntax

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

Parameters

[in] llPosition

Specifies the byte offset at which to begin reading. The method fails if this value is beyond the end of the file.

[in] lLength

Specifies the number of bytes to read.

[out] pBuffer

Pointer to a buffer that receives the data.

Return value

Returns an HRESULT value. Possible values include the following.

Return code Description
S_FALSE
Retrieved fewer bytes than requested. (Probably the end of the file was reached.)
S_OK
Success.

Remarks

This method works even if the filter is stopped.

Requirements

Requirement Value
Minimum supported client Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Target Platform Windows
Header strmif.h (include Dshow.h)
Library Strmiids.lib

See also

Error and Success Codes

IAsyncReader Interface

IAsyncReader::SyncReadAligned