Verwalten der Anmeldung
Windows Medienwiedergabe unterstützt eine Vielzahl von Methoden für den Benutzer, um sich bei einem Typ 1 Onlinespeicher anzumelden. Der Player bietet ein Standard-Anmeldedialogfeld, aber der Onlinespeicher kann eine Webseite bereitstellen, die als Alternative zum Standarddialogfeld dient.
Der Benutzer kann einen Anmeldeversuch initiieren, indem er mit der Windows Medienwiedergabe Benutzeroberfläche interagieren oder mit einer Ermittlungsseite interagieren kann, die vom Onlinespeicher bereitgestellt wird. Wenn der Benutzer einen Anmeldeversuch initiiert, indem er mit einer Ermittlungsseite interagiert, ruft skript auf der Ermittlungsseite die External.attemptLogin-Methode auf.
Der Anmeldestatus des Benutzers wird vom Onlinespeicher verwaltet. Wenn sich der Anmeldestatus des Benutzers ändert oder wenn ein Anmeldeversuch fehlschlägt, benachrichtigt das Plug-In des Onlinespeichers Windows Medienwiedergabe durch Aufrufen von IWMPContentPartnerCallback::Notify, übergeben wmpcnLoginStateChange im Typparameter. Der Player übergibt die Benachrichtigung an die Ermittlungsseite, indem das Ereignis "External.OnLoginChange " ausgelöst wird.
Ein Aufruf von OnLoginChange bedeutet nicht unbedingt, dass der Anmeldestatus des Benutzers geändert wurde; es könnte bedeuten, dass ein Versuch, sich anzumelden, fehlgeschlagen ist. Um den Anmeldestatus des Benutzers zu bestimmen, kann der OnLoginChange-Ereignishandler die Eigenschaft "External.userLoggedIn " überprüfen.
In den folgenden Abschnitten wird der Standardprotokollprozess, der alternative Anmeldeprozess und der Abmeldeprozess beschrieben.
Standardprotokollierung
Der Standardprotokollprozess umfasst die folgenden Schritte:
- Der Benutzer initiiert einen Anmeldeversuch, indem er mit der Windows Medienwiedergabe Benutzeroberfläche interagiert oder mit einer Ermittlungsseite interagiert.
- Windows Medienwiedergabe zeigt ein Dialogfeld an, das den Benutzer für einen Benutzernamen und ein Kennwort einfordert.
- Wenn der Benutzer im Dialogfeld auf die Schaltfläche "Anmelden" klickt, ruft Windows Medienwiedergabe IWMPContentPartner::Login auf, das vom Plug-In des Onlinespeichers implementiert wird.
- Das Plug-In kommuniziert mit dem Onlinespeicher und kann entweder erfolgreich oder nicht angemeldet werden.
- Wenn der Anmeldeversuch erfolgreich verläuft, benachrichtigt das Plug-In Windows Medienwiedergabe durch Aufrufen von IWMPContentPartnerCallback::Notify, übergeben VARIANT_TRUE im boolVal-Element des pContext-Parameters. Wenn der Anmeldeversuch fehlschlägt, benachrichtigt das Plug-In Windows Medienwiedergabe durch Aufrufen von IWMPContentPartnerCallback::Notify einen 32-Bit-Wert im ulVal-Element des pContext-Parameters. Der Player übergibt dann diesen 32-Bit-Wert an IWMPContentPartner::GetItemInfo , um die URL einer Webseite abzurufen, die den Fehler behandeln kann.
Alternative Anmeldung
Wenn das SUBSCRIPTION_CAP_ALTLOGIN-Flag im Registrierungseintrag "Funktionen" für das Plug-In des Onlinespeichers festgelegt ist, verwendet Windows Medienwiedergabe das Dialogfeld "Standardprotokoll" nicht. Stattdessen ruft Windows Medienwiedergabe IWMPContentPartner::GetItemInfo auf, um die URL einer Webseite abzurufen, die den Anmeldeprozess ausführt. Weitere Informationen zum Registrierungseintrag "Funktionen" finden Sie unter Registrierungsschlüssel und Einträge für einen Typ 1 Online-Store.
Der Spieler ruft GetItemInfo zweimal auf: Einmal g_szItemInfo_ALTLoginURL übergeben, um die URL der Anmeldewebseite abzurufen und einmal g_szItemInfo_ALTLoginCaption übergeben, um die Beschriftung für das Fenster abzurufen, das die Webseite hostt. Wenn GetItemInfo die URL der Anmeldewebseite zurückgibt, kann sie die Größe des Anmeldefensters angeben, indem sie die folgende Parameterzeichenfolge an die URL anfügen:
? DlgX=widthDlgY&=height
In der Parameterzeichenfolge sind Breite und Höhe die Breite und Höhe des Fensters in Pixeln. Beispielsweise könnte GetItemInfo die folgende Zeichenfolge zurückgeben, um anzugeben, dass AltLogin.htm in einem Fenster angezeigt werden soll, das eine Breite von 800 Pixeln und eine Höhe von 400 Pixeln aufweist.
https://proseware.com/AltLogin.htm?DlgX=800&DlgY=400
Der alternative Anmeldevorgang umfasst die folgenden Schritte:
- Der Benutzer initiiert einen Anmeldeversuch, indem er mit der Windows Medienwiedergabe Benutzeroberfläche interagiert oder mit einer Ermittlungsseite interagiert.
- Windows Medienwiedergabe öffnet ein modales Fenster, das die vom Onlinespeicher bereitgestellte Anmeldewebseite anzeigt.
- Die Webseite kommuniziert mit dem Onlinespeicher und kann entweder erfolgreich sein oder nicht im Benutzer angemeldet werden.
- Wenn der Anmeldeversuch erfolgreich verläuft, benachrichtigt die Webseite das Plug-In des Onlinespeichers durch Aufrufen von External.sendMessage, was zu einem Aufruf von IWMPContentPartner::SendMessage führt. Das Plug-In des Onlinespeichers bestimmt, dass der Anmeldeversuch erfolgreich war, indem die an IWMPContentPartner::SendMessage übergebenen Parameter überprüft werden. Diese Parameter werden von Windows Medienwiedergabe nicht interpretiert; sie haben nur Bedeutung für den Onlinespeicher. Das Plug-In ruft IWMPContentPartnerCallback::Notify auf, übergeben VARIANT_TRUE im boolVal-Element des pContext-Parameters . Wenn das Anmelden fehlschlägt, muss der Onlinespeicher bestimmen, wie der Benutzer unterstützt wird. Eine Möglichkeit besteht darin, eine neue Webseite im modalen Fenster anzuzeigen, die die alternative Anmeldewebseite hosten.
Abmelden
Der Abmeldevorgang umfasst die folgenden Schritte.
- Der Benutzer initiiert einen Abmeldeversuch, indem er mit der Windows Medienwiedergabe Benutzeroberfläche interagiert oder mit einer Ermittlungsseite interagiert.
- Windows Medienwiedergabe ruft IWMPContentPartner::Logout auf, das vom Plug-In des Onlinespeichers implementiert wird.
- Das Plug-In kommuniziert mit dem Onlinespeicher und kann entweder erfolgreich sein oder den Benutzer nicht abmelden.
- Wenn der Abmeldeversuch erfolgreich verläuft, benachrichtigt das Plug-In Windows Medienwiedergabe durch Aufrufen von IWMPContentPartnerCallback::Notify, übergeben VARIANT_FALSE im boolVal-Element des pContext-Parameters.
Wenn ein Versuch, sich anzumelden oder herauszugeben, ruft das Plug-In des Onlinespeichers IWMPContentPartnerCallback::Notify auf, übergeben wmpcnLoginStateChange im Typparameter . Das Plug-In verwendet den pContext-Parameter , um den aktuellen Anmeldestatus des Benutzers anzugeben. Wenn das Plug-In pContext-boolVal> auf VARIANT_TRUE legt, wird der Benutzer angemeldet. Wenn das Plug-In pContext-boolVal> auf VARIANT_FALSE legt, wird der Benutzer abgemeldet. Beachten Sie, dass pContext nicht den Erfolg oder fehler des Versuchs angibt; Stattdessen gibt er den aktuellen Anmeldestatus des Benutzers an.
Zugehörige Themen