DirectShow DirectShow 레퍼런스 DirectShow base class base class 레퍼런스 CBaseInputPin ReceiveMultiple   [목차열람] [주소복사] [슬롯비우기]
CBaseInputPin::ReceiveMultiple
 
Microsoft DirectX 9.0

CBaseInputPin::ReceiveMultiple

ReceiveMultiple 메서드는, 샘플의 배열을 받는다. 이 메서드는 IMemInputPin::ReceiveMultiple 메서드를 처리 한다.

구문

HRESULT ReceiveMultiple(
    IMediaSample **pSamples,
    long nSamples,
    long *nSamplesProcessed
);

파라미터

pSamples

nSamples 의 사이즈를 가지는 IMediaSample 포인터의 배열의 주소.

nSamples

처리하는 샘플의 수.

nSamplesProcessed

처리된 샘플의 수를 받는 변수의 포인터.

반환값

HRESULT 값을 돌려준다. 다음의 몇개의 값을 돌려준다.

설명
S_OK 성공.
S_FALSE 핀은 현재 플래시중이다. 샘플은 거부되었다.
E_POINTER NULL 포인터 인수.
VFW_E_INVALIDMEDIATYPE 무효인 미디어 타입.
VFW_E_RUNTIME_ERROR 실행시 에러가 발생했다.
VFW_E_WRONG_STATE 핀은 정지하고 있다.

주의

이 메서드는 CBaseInputPin::Receive 메서드와 같이 동작하지만, 샘플의 배열을 받는다. base class에서는, 이 메서드는 배열을 루프 처리해, 각 샘플로 Receive 를 호출한다. 샘플을 한 번에 1 개씩 처리하는 것보다도 배치로 처리하는 쪽이 효율적인 필터의 경우는, 이 함수를 오버라이드(override) 하는 것.

참조

↑TOP