IMFTrackedSample::SetAllocator 메서드(mfidl.h)

샘플의 소유자를 설정합니다.

구문

HRESULT SetAllocator(
  [in] IMFAsyncCallback *pSampleAllocator,
  [in] IUnknown         *pUnkState
);

매개 변수

[in] pSampleAllocator

콜백 개체의 IMFAsyncCallback 인터페이스에 대한 포인터입니다. 호출자는 이 인터페이스를 구현해야 합니다.

[in] pUnkState

호출자가 정의한 상태 개체의 IUnknown 인터페이스에 대한 포인터입니다. 이 매개 변수는 NULL일 수 있습니다. 이 개체를 사용하여 상태 정보를 저장할 수 있습니다. 콜백이 호출될 때 개체가 호출자에게 반환됩니다.

반환 값

이 메서드는 HRESULT를 반환합니다. 가능한 값에는 다음 표에 있는 값이 포함되지만, 이에 국한되는 것은 아닙니다.

반환 코드 Description
S_OK
메서드가 성공했습니다.
MF_E_NOTACCEPTING
소유자가 이미 설정되었습니다. 이 메서드는 샘플에서 두 번 호출할 수 없습니다.

설명

이 메서드가 호출되면 샘플은 자체에 대한 추가 참조 수를 보유합니다. 다른 모든 개체가 샘플에서 참조 수를 해제하면 샘플은 pSampleAllocator 콜백 메서드를 호출합니다. 샘플에 대한 포인터를 얻으려면 콜백의 IMFAsyncCallback::Invoke 메서드에 지정된 비동기 결과 개체에서 IMFAsyncResult::GetObject를 호출합니다.

콜백이 호출된 후 샘플은 콜백을 지웁니다. 콜백을 복원하려면 SetAllocator 를 다시 호출해야 합니다.

샘플의 IMFSample 인터페이스 포인터를 콜백에 대한 상태 개체(pUnkState)로 전달하는 것이 안전합니다. pUnkState가 샘플을 가리키는 경우 SetAllocator 메서드는 pUnkState의 추가 참조 수를 고려합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 mfidl.h
라이브러리 Strmiids.lib

추가 정보

IMFTrackedSample