MF_TRANSFORM_ASYNC属性
Media Foundation 変換 (MFT) が非同期処理を実行するかどうかを指定します。
データ型
UINT32
取得/設定
この属性を取得するには、 IMFAttributes::GetUINT32 を呼び出します。
この属性を設定するには、 IMFAttributes::SetUINT32 を呼び出します。
解説
属性はブール値です。
- 属性が 0 以外の場合、MFT は非同期処理を実行します。
- 属性が 0 の場合、または設定されていない場合、MFT は同期です。
この属性を取得するには、まず IMFTransform::GetAttributes を呼び出して MFT の属性ストアを取得します。 そのメソッドが成功した場合は、 IMFAttributes::GetUINT32 を呼び出して属性値を取得します。 2 つのメソッドのいずれかが失敗した場合、MFT は同期です。
非同期 MFT の場合、この属性は 0 以外の値に設定する必要があります。 同期 MFT の場合、この属性は省略可能ですが、存在する場合は 0 に設定する必要があります。
非同期 MFT は、以前のバージョンの Media Foundation と互換性がありません。 非同期 MFT を使用するには、クライアントで MFT に MF_TRANSFORM_ASYNC_UNLOCK 属性を設定する必要があります。 (Microsoft Media Foundation パイプラインは、この手順を自動的に実行します)。
例
次のコードは、MFT が非同期処理を実行するかどうかをテストします。
BOOL IsTransformAsync(IMFTransform *pMFT)
{
BOOL bAsync = FALSE;
IMFAttributes *pAttributes = NULL;
HRESULT hr = pMFT->GetAttributes(&pAttributes);
if (SUCCEEDED(hr))
{
bAsync = MFGetAttributeUINT32(pAttributes, MF_TRANSFORM_ASYNC, FALSE);
pAttributes->Release();
}
return (bAsync != FALSE);
}
必要条件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows 7 [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー |
Windows Server 2008 R2 [デスクトップ アプリ |UWP アプリ] |
Header |
|
関連項目