DirectShow DirectShow 레퍼런스 인터페이스 IAsyncReader SyncReadAligned   [목차열람] [주소복사] [슬롯비우기]
IAsyncReader::SyncReadAligned
 
Microsoft DirectX 9.0

IAsyncReader::SyncReadAligned

SyncReadAligned 메서드는, 동기 읽기를 실행한다. 메서드는, 요구가 완료할 때까지 블록 한다. 파일의 위치와 버퍼 주소는, alignment 할 필요가 있다. 할당자 프로퍼티로 필요한 alignment를 체크하는 것.

구문

HRESULT SyncReadAligned(
  IMediaSample *pSample
);

파라미터

pSample

호출원이 제공하는 미디어 샘플의 IMediaSample 인터페이스의 포인터.

반환값

HRESULT 값을 돌려준다. 가능한 값은 다음과 같다.

반환 코드 설명
VFW_E_BADALIGN 무효인 alignment.
S_FALSE 취득한 바이트의 수가 요구된 바이트의 수보다 적다 (파일의 말미에 이르렀다고 생각된다).
S_OK 성공.

주의

이 메서드를 호출하기 전에, 핀의 할당자로부터 미디어 샘플을 얻어온다 일. 요구하고 있는 바이트 오프셋(offset) (최초와 최후를 포함해 10,000,000 을 건 값)로 샘플에 타임 스탬프를 설정한다. 바이트 오프셋(offset)는, 스트림의 시작으로부터의 상대값이다.

시작 위치와 정지 위치는, 핀이 접속되었을 때에 결정할 수 있던 alignment와 일치하고 있는 것. 일치하지 않는 경우, 메서드는 VFW_E_BADALIGN 를 돌려준다. 합의한 alignment가 스트림의 실제의 alignment보다 엉성할 때, 정지 위치는 실제의 시간폭을 넘는 경우가 있다. 그 경우, 메서드는 정지 위치를 실제의 alignment에 말다.

이 메서드는, 버퍼 없음 읽기를 실행하므로,IAsyncReader::SyncRead 메서드보다 고속으로 처리된다.

참조

↑TOP