Share via


IMFTrackedSample::SetAllocator 方法 (mfidl.h)

設定範例的擁有者。

語法

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

參數

[in] pSampleAllocator

回呼物件的 IMFAsyncCallback 介面指標。 呼叫端必須實作這個介面。

[in] pUnkState

狀態物件的 IUnknown 介面指標,由呼叫端定義。 此參數可以是 Null。 您可以使用這個物件來儲存狀態資訊。 叫用回呼時,物件會傳回給呼叫端。

傳回值

方法會傳回 HRESULT。 可能的值包括 (但不限於) 下表中的這些值。

傳回碼 描述
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