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

IAsyncReader::RequestAllocator

RequestAllocator 메서드는, 핀 접속중에 할당자를 요구한다.

구문

HRESULT RequestAllocator(
  IMemAllocator *pPreferred,
  ALLOCATOR_PROPERTIES *pProps,
  IMemAllocator **ppActual
);

파라미터

pPreferred

[in] 입력 핀의 우선 할당자의 IMemAllocator 인터페이스의 포인터. 또는 NULL.

pProps

[in] 호출원이 할당한 ALLOCATOR_PROPERTIES 구조체의 주소를 지정한다. 호출원래는, 입력 핀에 필요한 할당자 프로퍼티를 설정해, 나머지의 멤버는 제로로 설정해야 한다.

ppActual

[out] IMemAllocator 인터페이스 포인터를 받는 변수의 주소.

반환값

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

반환 코드 설명
E_FAIL 할당자의 초기화가 실패했다.
VFW_E_BADALIGN 무효인 alignment가 지정되었다.
S_OK 할당자가 돌려주어졌다.

주의

다운 스트림 입력 핀은, 접속 처리중은 이 메서드를 호출하는 것. 핀에 우선 할당자가 있을 때는, 그 우선 할당자를 pPreferred 인수로 지정한다. 버퍼 사이즈나 alignment등의 버퍼 조건이 있을 때는,pProps 인수로 지정한다. 출력 핀은 할당자를 선택해, 그 할당자의 포인터를 ppActual 인수로 돌려준다.

출력 핀은, 입력 핀의 요구를 받아들일 필요는 없다. 입력 핀에 절대 조건이 있을 때는, 돌려받는 할당자에 대해서 IMemAllocator::GetProperties 메서드를 호출할 필요가 있다. 할당자의 프로퍼티가 적절하지 않으면 접속에 실패할 가능성이 있다. 접속이 확립되면 입력 핀은 출력 핀이 선택한 할당자를 "반드시" 사용해야 한다.

할당자의 위탁 및 데코밋트는, 입력 핀이 실시하는 것.

참조

↑TOP