Verifiering och initiering
[Funktionen som är associerad med den här sidan, Windows Media Format 11 SDK, är en äldre funktion. Det har ersatts av Source Reader och Sink Writer. Source Reader och Sink Writer har optimerats för Windows 10 och Windows 11. Microsoft rekommenderar starkt att ny kod använder Source Reader och Sink Writer i stället för Windows Media Format 11 SDK, när det är möjligt. Microsoft föreslår att befintlig kod som använder äldre API:er skrivs om för att använda de nya API:erna om möjligt.]
Du bör utföra följande steg för att kontrollera att transkryptering tillåts och initiera ett objekt som dekrypterar innehållet:
- Om du redan har nyckel-ID:t för innehållet går du vidare till steg 5.
- Anropa funktionen WMCreateEditor för att skapa ett metadataredigeringsobjekt och hämta en instans av objektets IWMMetadataEditor- gränssnitt.
- Anropa IWMMetadataEditor::QueryInterface för att hämta en instans av gränssnittet IWMDRMEditor.
- Anropa IWMDRMEditor::GetDRMProperty för att hämta egenskapen DRM_DRMHeader_KeyID.
- Initiera utökade API:er för Windows Media DRM-klienten genom att anropa funktionen WMDRMStartup.
- Anropa funktionen WMDRMCreateProtectedProvider för att skapa ett säkert providerobjekt och hämta en instans av objektets IWMDRMProvider--gränssnitt.
- Anropa IWMDRMProvider::CreateObject för att skapa ett licenshanteringsobjekt och hämta en instans av dess IWMDRMLicenseManagement--gränssnitt.
- Anropa IWMDRMLicenseManagement::CreateLicenseEnumerationoch skicka in nyckel-ID:t och den rättighet som styr de åtgärder som ska vidtas med innehållet när det har transkrypterats. Det här anropet hämtar en instans av IWMDRMLicense- gränssnitt som kan användas för att räkna upp genom matchande licenser.
- Anropa IWMDRMLicense::GetInclusionList för att hämta listan över auktoriserade innehållsskyddssystem (CPS) som anges av licens utfärdaren.
- Parsa inkluderingslistan för att bekräfta att GUID för utdata-CPS tillåts av licensen.
- Om önskat export-GUID inte finns i inkluderingslistan anropar du IWMDRMLicense::GetNext för att hämta nästa tillämpliga licens (om någon) och upprepa steg 9 och 10. Om ingen licens har önskat GUID i inkluderingslistan kan exporten inte utföras.
- Anropa IWMDRMLicense::CreateSecureDecryptor för att skapa ett dekrypteringsobjekt. Skicka in certifikatet för exportprogrammet. Det här anropet ger en pekare till en instans av dekrypteringsobjektets IWMDRMDecrypt--gränssnitt och ett binärt objekt som innehåller fröet. Endast Windows Media DRM_PROTECTION_TYPE_RC4-konstanten stöds som ett argument till parametern dwFlags just nu.
- Använd RSA OAEP-krypteringsschemat för att dekryptera initieringsvektorn.
- Använd ASF-parsningsbiblioteket som tillhandahålls av Microsoft när du ingår Windows Media DRM-exportavtalet för att hitta förskjutningen i byte för varje nyttolast.
Relaterade ämnen