MF_SA_D3D_AWARE属性
Media Foundation 変換 (MFT) が DirectX ビデオ アクセラレーション (DXVA) をサポートするかどうかを指定します。 この属性は、ビデオ MFT にのみ適用されます。
データ型
UINT32 として格納されている BOOL
注釈
この属性を照会するには、 IMFTransform::GetAttributes を呼び出して、MFT のグローバル属性ストアを取得します。 GetAttributes が成功した場合は、IMFAttributes::GetUINT32 を呼び出します。
この属性は、MFT が Direct3D 9 ビデオを使用できるかどうかをクライアントに通知します。
- 属性が 0 以外の場合、クライアントはストリーミングを開始する前に MFT に IDirect3DDeviceManager9 インターフェイスへのポインターを与えることができます。 これを行うには、クライアントは MFT にMFT_MESSAGE_SET_D3D_MANAGER メッセージを送信します。 クライアントは、このメッセージを送信する必要はありません。
- この属性が 0 (FALSE) の場合、MFT は Direct3D 9 ビデオをサポートしていないため、クライアントは MFT_MESSAGE_SET_D3D_MANAGER メッセージを MFT に送信しないでください。
この属性の既定値は FALSE です。 この属性は読み取り専用として扱います。 値を変更しないでください。MFT は値に対する変更を無視します。
カスタム MFT でのこの属性の実装の詳細については、「 Direct3D 対応の MFT」を参照してください。
この属性の GUID 定数は、mfuuid.lib からエクスポートされます。
例
次のコードは、MFT が DXVA をサポートしているかどうかをテストします。
// Returns TRUE is an MFT supports DirectX Video Acceleration.
BOOL IsTransformD3DAware(IMFTransform *pMFT)
{
BOOL bD3DAware = FALSE;
IMFAttributes *pAttributes = NULL;
HRESULT hr = pMFT->GetAttributes(&pAttributes);
if (SUCCEEDED(hr))
{
bD3DAware = MFGetAttributeUINT32(pAttributes, MF_SA_D3D_AWARE, FALSE);
pAttributes->Release();
}
return bD3DAware;
}
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows Vista [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー |
Windows Server 2008 [デスクトップ アプリ |UWP アプリ] |
Header |
|
こちらもご覧ください