MF_SA_D3D_AWARE屬性
指定媒體基礎轉換 (MFT) 是否支援 DirectX 影片加速 (DXVA) 。 此屬性僅適用于視訊 MFT。
資料類型
儲存為UINT32的BOOL
備註
若要查詢此屬性,請呼叫 IMFTransform::GetAttributes 以取得 MFT 的全域屬性存放區。 如果 GetAttributes 成功,請呼叫 IMFAttributes::GetUINT32。
此屬性會告知用戶端 MFT 是否可以使用 Direct3D 9 影片:
- 如果屬性為非零,則用戶端可以在串流啟動之前,為 MFT 提供 IDirect3DDeviceManager9 介面的指標。 若要這樣做,用戶端會將 MFT_MESSAGE_SET_D3D_MANAGER 訊息傳送至 MFT。 用戶端不需要傳送此訊息。
- 如果此屬性為零 (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 應用程式] |
標頭 |
|
另請參閱