Arbeiten mit Ausgabeschutzebenen
[Das dieser Seite zugeordnete Feature Windows Media Format 11 SDK ist ein Legacyfeature. Sie wurde durch den Quellleser und den Senkenschreiber ersetzt. Quellleser und Senkenschreiber wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit den Quellleser und senkenden Writer anstelle des Windows Media Format 11 SDK verwendet. Microsoft schlägt vor, vorhandenen Code, der die Legacy-APIs verwendet, um nach Möglichkeit die neuen APIs zu verwenden.]
Lizenzen, die mit dem Windows Media Rights Manager 10 SDK erstellt wurden, können Aktionseinschränkungen mithilfe von Ausgabeschutzebenen (OPLs) angeben. OPLs ermöglichen es einem Lizenzersteller, einige Aktionen nur auf Geräten mit bestimmten Technologien zuzulassen. Der Vorteil der Verwendung von OPLs besteht darin, dass Sie beim Erstellen von Lizenzeinschränkungen flexibler sind als bei früheren Versionen. Darüber hinaus können OPLs für zukünftige Technologien erweitert werden. Sie können solche Lizenzen in Ihren Anwendungen unterstützen, indem Sie die Methoden der IWMDRMReader2-Schnittstelle verwenden.
Zum Lesen von Dateien, die durch eine Lizenz geschützt sind, die OPLs angibt, müssen Sie die OPL auf die gewünschte Aktion überprüfen. Die Ausgabetechnologie, die Ihre Anwendung verwendet, muss von der OPL in der Lizenz zugelassen werden. Für einige Lizenzen für geschützte Audiodaten kann es beispielsweise erforderlich sein, dass Sie einen sicheren Audiopfad verwenden, um sie wiederzugeben.
Konfigurieren des Lesegeräts zum Auswerten von Ausgabeschutzstufen
Bevor Sie OPLs für dateien überprüfen können, die im Reader geladen wurden, müssen Sie die IWMDRMReader2::SetEvaluateOutputLevelLicenses-Methode aufrufen und true für den fEvaluate-Parameter übergeben. Wenn Sie diese Methode nicht aufrufen, sind Lizenzen, die OPLs erfordern, für Ihre Anwendung nicht sichtbar.
Auswerten von Kopierausgabeschutzstufen
Um Ausgabeschutzstufen für die Kopieraktion abzurufen, rufen Sie die IWMDRMReader2::GetCopyOutputLevels-Methode auf. Die Daten, die Sie vom Aufruf erhalten, werden in einer DRM_COPY_OPL-Struktur gespeichert. Die Struktur enthält eine Basisausgabeschutzebene, die die minimale Ausgabestufe für die Kopieraktion in der Lizenz angibt. Die DRM_COPY_OPL-Struktur enthält jedoch auch zwei Listen von Technologiebezeichnern: eine für zulässige Technologien, die mit einer niedrigeren OPL als der Basis bewertet werden, und eine für Technologien, die gleich oder höher als die Basis-OPL bewertet werden, aber durch die Lizenz eingeschränkt sind. Sie müssen die Einschlüsse und Ausschlüsse überprüfen, um sicherzustellen, dass die von Ihrer Anwendung verwendete Technologie von der Lizenz zulässig ist.
Auswerten von Wiedergabeausgabeschutzstufen
Um Ausgabeschutzstufen für die Wiedergabeaktion abzurufen, rufen Sie die IWMDRMReader2::GetPlayOutputLevels-Methode auf. Die Daten, die Sie vom Aufruf erhalten, werden in einer DRM_PLAY_OPL-Struktur gespeichert. Die Struktur enthält mehrere weitere Strukturen. Die Basisausgabeschutzebenen für die Wiedergabeaktion werden in einer DRM_MINIMUM_OUTPUT_PROTECTION_LEVELS-Struktur ( dem minOPL-Member von DRM_PLAY_OPL) gespeichert, die die Mindest-OPL definiert, die zum Wiedergeben von Inhalten in einer Vielzahl von Formaten erforderlich ist. Sie müssen den Member auf den Typ der Ausgabeformate überprüfen, die Ihre Anwendung liefert.
Die DRM_PLAY_OPL-Struktur definiert zwei Arten von Einschränkungen: erforderliche Downsamplings und zulässige Videoausgabeschutzbezeichner.
Erforderliche Downsamplings werden als Liste von Ausgabetechnologiebezeichnern ( oplIdDownsample-Member von DRM_PLAY_OPL) definiert, die bei Verwendung den Inhalt nur für die Wiedergabe empfangen können, wenn der Inhalt zuerst auf eine niedrigere Bitrate heruntersamplingt wird.
Zulässige Videoausgabeschutzbezeichner werden als Liste der Videoausgabetechnologien mit Konfigurationsinformationen für jede definiert.
Behandeln mehrerer Lizenzen
Einigen Dateien sind möglicherweise mehrere Lizenzen im lokalen Lizenzspeicher zugeordnet. Wenn Sie OPLs für eine Datei auswerten, die Sie lesen, können Sie nach zusätzlichen Lizenzen suchen, indem Sie die IWMDRMReader2::TryNextLicense-Methode aufrufen. Sie sollten mit dem Testen von Lizenzen fortfahren, bis Sie eine gefunden haben, die die Aktion, die Sie ausführen möchten, zulässt, oder bis TryNextLicense DRM_S_FALSE zurückgibt. Dies bedeutet, dass keine weiteren Lizenzen vorhanden sind.
In einigen Fällen kann eine Datei über eine zugehörige Lizenz verfügen, die eine OPL erfordert, die Ihre Anwendung nicht unterstützen kann. In einem solchen Fall ist es wichtig, nach zusätzlichen Lizenzen zu suchen, da möglicherweise eine Lizenz vorhanden ist, die keine OPLs angibt.
Hinweis DRM wird von der x64-basierten Version dieses SDK nicht unterstützt.
Zugehörige Themen