Sdílet prostřednictvím


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.

diagram zobrazující mft a aplikaci odesílající data do 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:

  1. Aplikace implementuje rozhraní MMFFieldOfUseMFTUnlock.
  2. MMFFieldOfUseMFTUnlock::Unlock metoda přebírá ukazatel na IUnknown rozhraní MFT.
  3. 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.
  4. 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.

diagram znázorňující aplikaci, aktivační objekt a mft se šipkami k objektu fou, který má šipku zpět na mft

transformace Media Foundation