Share via


Gestione dell'account di accesso

[La funzionalità associata a questa pagina, Lettore multimediale Windows SDK è una funzionalità legacy. È stato sostituito da MediaPlayer. MediaPlayer è stato ottimizzato per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer invece di Lettore multimediale Windows SDK, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

Lettore multimediale Windows supporta un'ampia gamma di metodi per consentire all'utente di accedere a un negozio online di tipo 1. Il lettore fornisce una finestra di dialogo di accesso standard, ma l'archivio online può fornire una pagina Web che funge da alternativa alla finestra di dialogo standard.

L'utente può avviare un tentativo di accesso interagendo con l'interfaccia utente Lettore multimediale Windows o interagendo con una pagina di individuazione fornita dall'archivio online. Se l'utente avvia un tentativo di accesso interagendo con una pagina di individuazione, lo script nella pagina di individuazione chiama il metodo External.attemptLogin .

Lo stato di accesso dell'utente viene mantenuto dallo Store online. Quando lo stato di accesso dell'utente cambia o se un tentativo di accesso non riesce, il plug-in dell'archivio online notifica Lettore multimediale Windows chiamando IWMPContentPartnerCallback::Notify, passando wmpcnLoginStateChange nel parametro di tipo. Il lettore passa la notifica alla pagina di individuazione generando l'evento External.OnLoginChange .

Una chiamata a OnLoginChange non significa necessariamente che lo stato di accesso dell'utente sia cambiato. Potrebbe significare che un tentativo di accesso non è riuscito. Per determinare lo stato di accesso dell'utente, il gestore eventi OnLoginChange può esaminare la proprietà External.userLoggedIn .

Le sezioni seguenti descrivono il processo di accesso standard, il processo di accesso alternativo e il processo di disconnesso.

Accesso standard

Il processo di accesso standard prevede i passaggi seguenti:

  1. L'utente avvia un tentativo di accesso tramite l'interazione con l'interfaccia utente Lettore multimediale Windows o tramite l'interazione con una pagina di individuazione.
  2. Lettore multimediale Windows visualizza una finestra di dialogo che richiede all'utente un nome utente e una password.
  3. Quando l'utente fa clic sul pulsante Accedi nella finestra di dialogo, Lettore multimediale Windows chiama IWMPContentPartner::Login, implementato dal plug-in del negozio online.
  4. Il plug-in comunica con il negozio online e riesce o non riesce ad accedere all'utente.
  5. Se il tentativo di accesso ha esito positivo, il plug-in notifica Lettore multimediale Windows chiamando IWMPContentPartnerCallback::Notify, passando VARIANT_TRUE nel membro boolVal del parametro pContext. Se il tentativo di accesso non riesce, il plug-in invia una notifica Lettore multimediale Windows chiamando IWMPContentPartnerCallback::Notify, passando un valore a 32 bit nel membro ulVal del parametro pContext. Il lettore passa quindi il valore a 32 bit a IWMPContentPartner::GetItemInfo per ottenere l'URL di una pagina Web in grado di gestire l'errore.

Accesso alternativo

Se il flag SUBSCRIPTION_CAP_ALTLOGIN è impostato nella voce del Registro di sistema Funzionalità per il plug-in dello Store online, Lettore multimediale Windows non usa la finestra di dialogo di accesso standard. Al contrario, Lettore multimediale Windows chiama IWMPContentPartner::GetItemInfo per recuperare l'URL di una pagina Web che esegue il processo di accesso. Per altre informazioni sulla voce del Registro di sistema Funzionalità , vedere Chiavi e voci del Registro di sistema per un archivio online di tipo 1.

Il lettore chiama GetItemInfo due volte: una volta passato g_szItemInfo_ALTLoginURL per recuperare l'URL della pagina Web di accesso e una volta passato g_szItemInfo_ALTLoginCaption per recuperare il didascalia per la finestra che ospita la pagina Web. Quando GetItemInfo restituisce l'URL della pagina Web di accesso, può specificare le dimensioni della finestra di accesso aggiungendo la stringa di parametro seguente all'URL:

? DlgX=width&DlgY=height

Nella stringa del parametro, la larghezza e l'altezza sono la larghezza e l'altezza della finestra in pixel. Ad esempio , GetItemInfo potrebbe restituire la stringa seguente per specificare che AltLogin.htm deve essere visualizzato in una finestra con una larghezza di 800 pixel e un'altezza di 400 pixel

https://proseware.com/AltLogin.htm?DlgX=800&DlgY=400

Il processo di accesso alternativo prevede i passaggi seguenti:

  1. L'utente avvia un tentativo di accesso tramite l'interazione con l'interfaccia utente Lettore multimediale Windows o tramite l'interazione con una pagina di individuazione.
  2. Lettore multimediale Windows apre una finestra modale che visualizza la pagina Web di accesso fornita dallo Store online.
  3. La pagina Web comunica con l'archivio online e riesce o non riesce ad accedere all'utente.
  4. Se il tentativo di accesso ha esito positivo, la pagina Web invia una notifica al plug-in dell'archivio online chiamando External.sendMessage, che genera una chiamata a IWMPContentPartner::SendMessage. Il plug-in dello Store online determina che il tentativo di accesso è riuscito controllando i parametri passati a IWMPContentPartner::SendMessage. Questi parametri non vengono interpretati da Lettore multimediale Windows; hanno significato solo per lo store online. Il plug-in chiama IWMPContentPartnerCallback::Notify, passando VARIANT_TRUE nel membro boolVal del parametro pContext . Se l'accesso non riesce, l'archivio online deve determinare come assistere l'utente. Una possibilità consiste nel visualizzare una nuova pagina Web nella finestra modale che ospita la pagina Web di accesso alternativa.

Disconnettersi

Il processo di disconnesso prevede i passaggi seguenti.

  1. L'utente avvia un tentativo di disconnesso tramite l'interazione con l'interfaccia utente Lettore multimediale Windows o tramite l'interazione con una pagina di individuazione.
  2. chiamate Lettore multimediale WindowsIWMPContentPartner::Logout, implementato dal plug-in del negozio online.
  3. Il plug-in comunica con il negozio online e riesce o non riesce a disconnettere l'utente.
  4. Se il tentativo di disconnesso ha esito positivo, il plug-in notifica Lettore multimediale Windows chiamando IWMPContentPartnerCallback::Notify, passando VARIANT_FALedizione Standard nel membro boolVal del parametro pContext.

Quando un tentativo di accesso o disconnesso ha esito positivo, il plug-in del negozio online chiama IWMPContentPartnerCallback::Notify, passando wmpcnLoginStateChange nel parametro di tipo . Il plug-in usa il parametro pContext per specificare lo stato di accesso corrente dell'utente. Se il plug-in imposta pContext-boolVal> su VARIANT_TRUE, l'utente viene connesso. Se il plug-in imposta pContext-boolVal> su VARIANT_FALedizione Standard, l'utente viene disconnesso. Si noti che pContext non indica l'esito positivo o negativo del tentativo, ma indica lo stato di accesso corrente dell'utente.

External.attemptLogin

External.OnLoginChange, evento

External.userLoggedIn

IWMPContentPartner::Login

IWMPContentPartner::Logout

Guida alla programmazione per gli archivi online di tipo 1