Aktualisieren von Lizenzen

Onlineshops können Inhalte liefern, die für einen bestimmten Zeitraum oder bis zu einem bestimmten Datum lizenziert sind. Dies wäre normal für Musikinhalte, die im Rahmen einer Abonnementdienstvereinbarung bereitgestellt werden. In diesem Fall benötigt der Onlineshop die Möglichkeit, diese Lizenzen zu aktualisieren, bevor sie ablaufen. Dabei wird vorausgesetzt, dass der Benutzer für die Verlängerung seines Abonnements bezahlt hat. (Wenn der Benutzer das Abonnement nicht verlängert hat, können die Lizenzen einfach ablaufen lassen.)

Windows Media Player fragt das Inhaltspartner-Plug-In ab, um zu erfahren, wie viel Vorauswarnung der Player über eine Lizenz bereitstellen soll, die abläuft. Hierzu ruft es IWMPContentPartner::GetContentPartnerInfoauf und übergibt die Konstante g _ szContentPartnerInfo _ LicenseRefreshAdvanceWarning über den Parameter bstrInfoName. Um das Plug-In über lizenzen zu warnen, die ablaufen, ruft Windows Media Player IWMPContentPartner::RefreshLicense auf. Dieser Aufruf nimmt Parameter an, die Details zur zu aktualisierenden Datei bereitstellen, z. B. ob sich die Datei auf dem Computer des Benutzers befindet, und den Pfad zur Datei. Wenn die Lizenz im Rahmen eines Gerätesynchronisierungsvorgang aktualisiert wird, stellt der pReasonContext-Parameter den unbedarften Namen des Geräts zur Verfügung.

Wenn Windows Media Player RefreshLicence aufruft, übergibt sie ein Cookie, das die Updateanforderung identifiziert. Wenn das Plug-In die Verarbeitung der Updateanforderung abgeschlossen hat, benachrichtigt es Windows Media Player durch Aufrufen von IWMPContentPartnerCallback::RefreshLicenseComplete,übergibt das Cookie, die ID des Medienelements und ein HRESULT, das angibt, ob das Update erfolgreich war.

Onlineshop-Plug-Ins können auch Lizenzüberprüfungen und Updates als Hintergrundprozess durchführen. Windows Media Player das Plug-In über Zeiten benachrichtigt, zu denen es zulässig ist, Hintergrundverarbeitungsaufgaben durch Aufrufen von IWMPContentPartner::Notify auszuführen. Um dem Plug-In den Start der Hintergrundverarbeitung zu signalisieren, übergibt der Player den WMPPartnerNotification-Enumerationswert wmpsnBackgroundProcessingBegin. um dem Plug-In zu signalisieren, die Hintergrundverarbeitung zu beenden, übergibt der Player den Wert wmpsnBackgroundProcessingEnd.

Programmierhandbuch für Onlineshops vom Typ 1