IMFTrackedSample::SetAllocator 메서드(mfidl.h)
샘플의 소유자를 설정합니다.
구문
HRESULT SetAllocator(
[in] IMFAsyncCallback *pSampleAllocator,
[in] IUnknown *pUnkState
);
매개 변수
[in] pSampleAllocator
콜백 개체의 IMFAsyncCallback 인터페이스에 대한 포인터입니다. 호출자는 이 인터페이스를 구현해야 합니다.
[in] pUnkState
호출자가 정의한 상태 개체의 IUnknown 인터페이스에 대한 포인터입니다. 이 매개 변수는 NULL일 수 있습니다. 이 개체를 사용하여 상태 정보를 저장할 수 있습니다. 콜백이 호출될 때 개체가 호출자에게 반환됩니다.
반환 값
이 메서드는 HRESULT를 반환합니다. 가능한 값에는 다음 표에 있는 값이 포함되지만, 이에 국한되는 것은 아닙니다.
반환 코드 | Description |
---|---|
|
메서드가 성공했습니다. |
|
소유자가 이미 설정되었습니다. 이 메서드는 샘플에서 두 번 호출할 수 없습니다. |
설명
이 메서드가 호출되면 샘플은 자체에 대한 추가 참조 수를 보유합니다. 다른 모든 개체가 샘플에서 참조 수를 해제하면 샘플은 pSampleAllocator 콜백 메서드를 호출합니다. 샘플에 대한 포인터를 얻으려면 콜백의 IMFAsyncCallback::Invoke 메서드에 지정된 비동기 결과 개체에서 IMFAsyncResult::GetObject를 호출합니다.
콜백이 호출된 후 샘플은 콜백을 지웁니다. 콜백을 복원하려면 SetAllocator 를 다시 호출해야 합니다.
샘플의 IMFSample 인터페이스 포인터를 콜백에 대한 상태 개체(pUnkState)로 전달하는 것이 안전합니다. pUnkState가 샘플을 가리키는 경우 SetAllocator 메서드는 pUnkState의 추가 참조 수를 고려합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | mfidl.h |
라이브러리 | Strmiids.lib |