DirectShow DirectShow 레퍼런스 인터페이스 IAsyncReader SyncReadAligned [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
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 메서드보다 고속으로 처리된다.
참조