다음을 통해 공유


IAsyncReader::RequestAllocator 메서드(strmif.h)

[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngineMedia Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드에서 DirectShow 대신 MediaPlayer, IMFMediaEngine오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]

메서드는 RequestAllocator 핀 연결 중에 할당자를 요청합니다.

구문

HRESULT RequestAllocator(
  [in]  IMemAllocator        *pPreferred,
  [in]  ALLOCATOR_PROPERTIES *pProps,
  [out] IMemAllocator        **ppActual
);

매개 변수

[in] pPreferred

입력 핀의 기본 할당자 또는 NULL에 있는 IMemAllocator 인터페이스에 대한 포인터입니다.

[in] pProps

호출자가 할당한 ALLOCATOR_PROPERTIES 구조체의 주소를 지정합니다. 호출자는 입력 핀에 필요한 할당자 속성을 채우고 나머지 멤버를 0으로 설정해야 합니다.

[out] ppActual

IMemAllocator 인터페이스 포인터를 수신하는 변수의 주소입니다.

반환 값

HRESULT 값을 반환합니다. 가능한 값은 다음과 같습니다.

반환 코드 설명
E_FAIL
할당자를 초기화하지 못했습니다.
VFW_E_BADALIGN
잘못된 맞춤이 지정되었습니다.
S_OK
할당자가 반환되었습니다.

설명

다운스트림 입력 핀은 연결 프로세스 중에 이 메서드를 호출해야 합니다. 핀에 기본 할당자가 있는 경우 pPreferred 매개 변수에 지정합니다. pProps 매개 변수에 버퍼 크기 또는 맞춤과 같은 버퍼 요구 사항을 지정합니다. 출력 핀은 할당자를 선택하고 ppActual 매개 변수에 포인터를 반환합니다.

입력 핀의 요청을 적용하기 위해 출력 핀이 필요하지 않습니다. 입력 핀에 절대 요구 사항이 있는 경우 반환된 할당 자에서 IMemAllocator::GetProperties 메서드를 호출해야 합니다. 할당자 속성이 적합하지 않은 경우 연결에 실패할 수 있습니다. 연결이 설정되면 입력 핀은 출력 핀에서 선택한 할당자를 사용해야 합니다.

입력 핀은 할당자 커밋 및 커밋 해제를 담당합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 strmif.h(Dshow.h 포함)
라이브러리 Strmiids.lib

추가 정보

오류 및 성공 코드

IAsyncReader 인터페이스