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

CBaseInputPin::ReceiveCanBlock

ReceiveCanBlock 메서드는,IMemInputPin::Receive 메서드에의 호출이 블록 할지 어떨지를 조사한다. 이 메서드는 IMemInputPin::ReceiveCanBlock 메서드를 처리 한다.

구문

HRESULT ReceiveCanBlock(void);

반환값

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

설명
S_FALSE 핀은 Receive 를 호출해도 블록 하지 않는다.
S_OK 핀은 Receive 를 호출하면 블록 할 가능성이 있다.

주의

Receive 메서드의 호출이 블록 하지 않으면 보증되는 경우는, S_FALSE 를 돌려준다. 그 이외의 경우는, S_OK 또는 에러 코드를 돌려준다. Receive 메서드가 다운 스트림 핀의 Receive 를 호출하면, 다운 스트림 핀은 블록 할 가능성이 있다. ReceiveCanBlock 는 그것을 고려에 넣지 않으면 안 된다.

업 스트림 필터는 이 메서드를 사용해 thread의 처리 방법을 결정할 수 있다. Receive 메서드가 블록 할 가능성이 있는 경우, 업 스트림 필터는 데이터를 버퍼에 넣는 워커 thread의 사용을 결정할 수도 있다. 이 처리 방법의 처리에 대해서는, 「COutputQueue 클래스」를 참조할것.

base class에서는, 다음중 한쪽이 진정한이라고 하고 이 메서드는 S_OK 를 돌려준다.

참조

↑TOP