Durchführen der DRM-Individualisierung

Individualisierung ist der Prozess, bei dem die DRM-Komponente auf dem Clientcomputer aktualisiert, verschlüsselt und eindeutig wird. Wenn ein Computer individualisiert ist, ist die DRM-Komponente an den Computer gebunden und kann keinen Inhalt auf einem anderen Computer decodieren. Die Windows Media DRM Client Extended APIs bieten Unterstützung für die Individualisierung der DRM-Komponente auf Clientcomputern.

Die Individualisierung erfolgt durch Aufrufen der IWMDRMSecurity::P erformSecurityUpdate-Methode. Sie können PerformSecurityUpdate aufrufen, damit es nur dann individualisiert wird, wenn die Version auf dem Server neuer ist als die auf dem Clientcomputer installierte Version, oder Sie können die Individualisierung erzwingen, ohne die relativen Sicherheitsversionen zu betrachten. Das Flag für die bei Bedarf benötigte Individualisierung ist WMDRM _ SECURITY _ PERFORM _ INDIV. Das Flag für die erzwungene Individualisierung ist WMDRM _ SECURITY _ PERFORM FORCE _ _ INDIV.

PerformSecurityUpdate ist ein asynchroner Aufruf. Er gibt schnell zurück und generiert dann Ereignisse, um Statusinformationen zum Individualisierungsprozess zu liefern. Der Großteil der generierten Ereignisse sind MEWMDRMIndividualizationProgress-Ereignisse, die jeweils über eine zugeordnete IWMDRMIndividualizationStatus-Schnittstelle verfügt. Um die Statusschnittstelle abzurufen, müssen Sie ZUM ABRUFEN EINES IUnknown-Zeigers, der sich auf demselben Objekt befindet, DEN STATUSMEDIAEvent::GetValue aufrufen und ihn dann nach IWMDRMIndividualizationStatus abfragen.

Sie können Daten für eine WM _ INDIVIDUALIZE _ STATUS-Struktur abrufen, indem Sie IWMDRMIndividualizeStatus::GetStatus aufrufen. Jedes generierte Ereignis verfügt über ein eigenes Objekt mit dem Status . Sie müssen also jedes Mal den Vorgang zum Abrufen des Ereigniswerts und Abfragen der Statusschnittstelle durchgehen.

Abhängig von der Größe des Downloads kann es Dutzende oder Hunderte von MEWMDRMIndividualizationProgress-Ereignissen geben. Wenn der Individualisierungsprozess abgeschlossen ist, wird ein MEWMDRMIndividualizationCompleted-Ereignis generiert.

Wenn die Individualisierung abgeschlossen ist, sind die einzigen vorhandenen Objekte, die den neuen individualisierten Zustand widerspiegeln, diejenigen, die von IWMDRMSecurity erben. Alle anderen vorhandenen Objekte werden nicht aktualisiert. Sie müssen alle anderen Objekte veröffentlichen und neu erstellen, damit sie den neuen individualisierten Zustand widerspiegeln.

DRM-Individualisierungsbeispiel

Programmierhandbuch

Verwenden des Media Foundation-Ereignismodells

Windows Media DRM Individualization Best Practices