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

CBaseOutputPin::DecideAllocator

DecideAllocator 메서드는, 메모리 할당자의 포인터를 얻어온다.

구문

virtual HRESULT DecideAllocator(
    IMemInputPin *pPin,
    IMemAllocator **pAlloc
);

파라미터

pPin

입력 핀의 IMemInputPin 인터페이스의 포인터.

pAlloc

할당자의 IMemAllocator 인터페이스의 포인터를 받는 변수의 주소.

반환값

성공했을 경우는, S_OK 를 돌려준다. 그 이외의 경우는, 에러의 원인을 나타내는 HRESULT 값을 돌려준다.

주의

이 메서드는 핀 접속 처리의 마지막에 호출된다. 이하의 스텝을 실행한다.

  1. 입력 핀의 버퍼 요구가 있으면,IMemInputPin::GetAllocatorRequirements 메서드를 호출해 얻어온다.
  2. IMemInputPin::GetAllocator 메서드를 호출해, 입력 핀의 할당자를 요구한다. 그 입력 핀이 할당자를 제공하지 않으면, 출력 핀은 CBaseOutputPin::InitAllocator 클래스 메서드를 호출해 할당자를 생성 한다.
  3. CBaseOutputPin::DecideBufferSize 클래스 메서드를 호출해, 할당자 프로퍼티를 설정한다. 이것은 순수 가상 메서드이다. 상속 클래스는 이것을 처리 해야 한다.
  4. IMemInputPin::NotifyAllocator 메서드를 호출해, 할당자의 사용을 입력 핀에 통지한다.

참조

↑TOP