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 |
---|---|
|
Retrieved fewer bytes than requested. (Probably the end of the file was reached.) |
|
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 |