attribut MF_SA_D3D_AWARE
Gibt an, ob eine Media Foundation-Transformation (MFT) DirectX Video Acceleration (DXVA) unterstützt. Dieses Attribut gilt nur für Video-MFTs.
Datentyp
BOOL gespeichert als UINT32
Bemerkungen
Um dieses Attribut abzufragen, rufen Sie IMFTransform::GetAttributes auf, um den globalen Attributspeicher des MFT abzurufen. Wenn GetAttributes erfolgreich ist, rufen Sie IMFAttributes::GetUINT32 auf.
Dieses Attribut teilt dem Client mit, ob der MFT Direct3D 9-Video verwenden kann:
- Wenn das Attribut nichtzero ist, kann der Client dem MFT einen Zeiger auf die IDirect3DDeviceManager9-Schnittstelle geben, bevor das Streaming gestartet wird. Hierzu sendet der Client die MFT_MESSAGE_SET_D3D_MANAGER-Nachricht an den MFT. Der Client ist nicht erforderlich, um diese Nachricht zu senden.
- Wenn dieses Attribut null (FALSE) ist, unterstützt das MFT kein Direct3D 9-Video, und der Client sollte die MFT_MESSAGE_SET_D3D_MANAGER Nachricht nicht an den MFT senden.
Der Standardwert dieses Attributs ist FALSE. Behandeln Sie dieses Attribut als schreibgeschützt. Ändern Sie den Wert nicht. Vom MFT werden alle Änderungen am Wert ignoriert.
Weitere Informationen zum Implementieren dieses Attributs in einem benutzerdefinierten MFT finden Sie unter Direct3D-fähige MFTs.
Die GUID-Konstante für dieses Attribut wird aus mfuuid.lib exportiert.
Beispiele
Im folgenden Code wird getestet, ob ein MFT DXVA unterstützt.
// 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;
}
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) |
Windows Vista [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) |
Windows Server 2008 [Desktop-Apps | UWP-Apps] |
Header |
|
Siehe auch