Udostępnij przez


MFT_MESSAGE_SET_D3D_MANAGER

Ustawia lub czyści Menedżera urządzeń Direct3D na potrzeby przyspieszania wideo DirectX (DXVA).

Parametr komunikatu

Po rozpoczęciu przesyłania strumieniowego parametr ulParam zawiera wskaźnik IUnknown . MFT wyśle zapytanie do tego wskaźnika dla interfejsu IDirect3DDeviceManager9 dla direct3D 9 i interfejsu IMFDXGIDeviceManager dla direct3D 11. Po zatrzymaniu przesyłania strumieniowego parametr ulParameter zawiera wartość NULL.

Uwagi

Aby wysłać tę wiadomość, wywołaj metodę IMFTransform::P rocessMessage.

Ten komunikat dotyczy tylko przekształceń wideo. Klient nie powinien wysyłać tego komunikatu, chyba że MFT zwraca wartość TRUE dla atrybutu MF_SA_D3D_AWARE (MF_SA_D3D11_AWARE dla direct3D 11).

Nie wysyłaj tej wiadomości do MFT z wieloma danymi wyjściowymi.

Implementacja

Protokół MFT powinien obsługiwać ten komunikat tylko wtedy, gdy platforma MFT używa przyspieszania wideo DirectX do przetwarzania wideo lub dekodowania.

Jeśli protokół MFT obsługuje ten komunikat, powinien również zaimplementować metodę IMFTransform::GetAttributes i zwrócić wartość TRUE atrybutu MF_SA_D3D_AWARE ((MF_SA_D3D11_AWARE dla direct3D 11). Ten atrybut informuje klienta, że klient powinien wysłać komunikat MFT_MESSAGE_SET_D3D_MANAGER do MFT przed rozpoczęciem przesyłania strumieniowego.

Jeśli protokół MFT nie obsługuje tego komunikatu, powinien zwrócić E_NOTIMPL z elementu ProcessMessage. Jest to wyjątek od reguły ogólnej, że MFT może zwrócić S_OK z dowolnego ignorowanego komunikatu.

Aby uzyskać więcej informacji, zobacz Direct3D-Aware MFTs.

Wymagania

Wymaganie Wartość
Minimalny obsługiwany klient
Windows Vista [tylko aplikacje klasyczne]
Minimalny obsługiwany serwer
Windows Server 2008 [tylko aplikacje klasyczne]
Nagłówek
Mftransform.h

Zobacz także

Direct3D-Aware MFT

obsługa DXVA 2.0 w usłudze Media Foundation

Obsługa dekodowania wideo Direct3D 11 w programie Media Foundation

MFT_MESSAGE_TYPE