Omezení použití
Poznámka
Toto téma se týká Windows 7 nebo novějšího.
Omezení použití je ustanovení, které omezuje způsob použití licence pro konkrétní technologii.
Media Foundation poskytuje mechanismus pro vynucování omezení použití u transformací Media Foundation (MFT), zejména kodeků. Tento mechanismus vyžaduje, aby MFT blokoval vlastní použití aplikacemi, dokud aplikace neprovede metodu handshake s MFT. Media Foundation nedefinuje metodu handshake – obvykle by zahrnovala určitou kryptografickou výměnu.
Registrace a výčet
Pokud má MFT omezení pro použití, nastavte při registraci MFT příznak MFT_ENUM_FLAG_FIELDOFUSE. Tento příznak se vztahuje na následující rozhraní API pro registraci MFT:
Ve výchozím nastavení jsou MFT zaregistrované s tímto příznakem vyloučeny z výsledků výčtu. Pokud chcete zobrazit výčet MFT s omezeními použití polí, zavolejte MFTEnumEx a v parametru Flags zadejte příznak MFT_ENUM_FLAG_FIELDOFUSE. Tento proces znázorňuje následující diagram.
registru
Funkce MFTEnum vždy vyloučí všechny MFT, které mají omezení použití v terénu.
Odemknutí MFT
Pokud chcete použít MFT s omezeními použití, proveďte následující kroky:
- Aplikace implementuje rozhraní MMFFieldOfUseMFTUnlock.
- MMFFieldOfUseMFTUnlock::Unlock metoda přebírá ukazatel na IUnknown rozhraní MFT.
- V Unlock metoda provede aplikace požadovanou metodu handshake pomocí jakéhokoli mechanismu definovaného MFT. Tento krok není definován rozhraním MEDIA Foundation API.
- Pokud Unlock metoda uspěje, MFT odemkne sám sebe.
Aplikace určuje ukazatel MMFFieldOfUseMFTUnlock nastavením atributu MFT_FIELDOFUSE_UNLOCK_Attribute. Tento atribut můžete nastavit několika různými způsoby v závislosti na tom, jak vaše aplikace vytvoří dekodér nebo kanál kódování:
Rozhraní api | Jak odemknout pole –Of-Use |
---|---|
Čtenář zdroje | Pokud vaše aplikace používá Source Reader k dekódování multimediálního souboru, nastavte atribut MFT_FIELDOFUSE_UNLOCK_Attribute v parametrech konfigurace. Viz atributy čtenáře zdroje. |
Zapisovač jímky | Pokud vaše aplikace používá zapisovač jímky ke kódování mediálního souboru, nastavte atribut MFT_FIELDOFUSE_UNLOCK_Attribute v parametrech konfigurace. Viz atributy zapisovače jímky. |
Rychlé transkódování | Pokud vaše aplikace používá funkci Fast Transcode k vytvoření topologie kódování, nastavte MFT_FIELDOFUSE_UNLOCK_Attribute při volání DATACENTERTranscodeProfile::SetContainerAttributes. Další informace o funkci Rychlé transkódování naleznete v tématu rozhraní API transkódování. |
Topologie | Pokud vytvoříte topologii přímo, nastavte MFT_FIELDOFUSE_UNLOCK_Attribute jako atribut v topologii. Viz atributy topologie. |
Aktivační objekt MFT | Pokud vaše aplikace přímo vytvoří výčet dekodérů nebo kodérů, které bude používat, nastavte MFT_FIELDOFUSE_UNLOCK_Attribute na MMFActivate ukazatele vrácené funkcí MFTEnumEx. Nastavte atribut před voláním MMFActivate::ActivateObject vytvořit MFT. Aktivační objekt volá MMFFieldOfUseMFTUnlock::Unlock při vytváření MFT. |
Následující diagram znázorňuje vztah mezi aktivačními objekty MFT a rozhraním MMFFieldOfUseMFTUnlock.
Související témata