次の方法で共有


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
所有者は既に設定されています。 このメソッドは、サンプルで 2 回呼び出すことはできません。

注釈

このメソッドが呼び出されると、サンプルはそれ自体に追加の参照カウントを保持します。 他のすべてのオブジェクトがサンプルの参照カウントを解放すると、サンプルは pSampleAllocator コールバック メソッドを呼び出します。 サンプルへのポインターを取得するには、コールバック の IMFAsyncCallback:: Invoke メソッドに指定された非同期結果オブジェクトで IMFAsyncResult:: GetObject を呼び出します。

コールバックが呼び出されると、サンプルはコールバックをクリアします。 コールバックを再開するには、 SetAllocator をもう一度呼び出す必要があります。

サンプルの IMFSample インターフェイス ポインターをコールバックの状態オブジェクト (pUnkState) として渡しても安全です。 pUnkState がサンプルを指している場合、SetAllocator メソッドは pUnkState の追加の参照カウントを考慮します。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ | UWP アプリ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリ | UWP アプリ]
対象プラットフォーム Windows
ヘッダー mfidl.h
Library Strmiids.lib

こちらもご覧ください

IMFTrackedSample