Metodo IWMDRMLicenseManagement::AcquireLicense

[La funzionalità associata a questa pagina, Windows Media Format 11 SDK, è una funzionalità legacy. È stata sostituita dal lettore di origine e dal writer sink. Lettore di origine e writer sink sono stati ottimizzati per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi lettore di origine e writer sink anziché Windows Media Format 11 SDK, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

Il metodo AcquireLicense acquisisce in modo asincrono una licenza da un URL specificato.

Sintassi

HRESULT AcquireLicense(
  [in]  BSTR     bstrURL,
  [in]  BSTR     bstrHeaderData,
  [in]  BSTR     bstrActions,
  [in]  DWORD    dwFlags,
  [out] IUnknown **ppunkCancelationCookie
);

Parametri

bstrURL [in]

URL del server licenze da cui acquisire la licenza. Passare NULL per fare in modo che il metodo analizzi l'URL dall'intestazione del contenuto.

bstrHeaderData [in]

Intestazione del contenuto da passare al server licenze. Se bstrURL è NULL, il metodo analizzerà l'URL da questa intestazione. Se dwFlags è impostato su WMDRM_ACQUIRE_LICENSE_LEGACY_NONSILENT, impostare questo valore sull'ID chiave anziché sull'intera intestazione del contenuto.

bstrActions [in]

Stringa contenente zero o più azioni per le quali richiedere l'autorizzazione nella licenza. La stringa deve essere formattata come segue:

  • Ogni azione deve essere definita all'interno di un elemento ACTION. I dati dell'elemento sono la stringa di azione.

  • Tutti gli elementi ACTION devono essere contenuti all'interno di un elemento ACTIONLIST.

    Ad esempio, la stringa per richiedere una licenza per riprodurre il contenuto è formattata come segue:

    <ACTIONLIST><ACTION></ACTION></ACTIONLIST>
    

dwFlags [in]

Flag di opzione di acquisizione delle licenze. Impostare su una delle costanti della tabella seguente.

Costante Descrizione
WMDRM_ACQUIRE_LICENSE_SILENT La licenza verrà rilasciata direttamente tramite Internet senza alcuna conferma dall'applicazione client.
WMDRM_ACQUIRE_LICENSE_NONSILENT Il sottosistema DRM creerà una richiesta di licenza che verrà restituita in modo asincrono per la registrazione al server licenze.
WMDRM_ACQUIRE_LICENSE_LEGACY_NONSILENT Uguale a WMDRM_ACQUIRE_LICENSE_NONSILENT, ad eccezione del fatto che verrà creata una richiesta di licenza DRM versione 1.

ppunkCancelationCookie [out]

Puntatore che riceve un puntatore all'interfaccia IUnknown di un oggetto che identifica questa chiamata asincrona. Questo puntatore di interfaccia può essere usato per annullare la chiamata asincrona chiamando il metodo IWMDRMEventGenerator::CancelAsyncOperation .

Valore restituito

Il metodo restituisce un valore HRESULT. I valori possibili includono, ma non sono limitati a, quelli indicati nella tabella seguente.

Codice restituito Descrizione
S_OK
Il metodo è riuscito.

Commenti

Questo metodo viene eseguito in modo asincrono. Restituisce immediatamente dopo la chiamata e quindi genera un evento MEWMDRMLicenseAcquisitionCompleted al termine dell'elaborazione. Per le operazioni di acquisizione delle licenze non invisibile all'utente, il valore dell'evento ottenuto chiamando IMFMediaEvent::GetValue è un puntatoreIUnknown . È possibile chiamare il metodo QueryInterface dell'interfaccia IUnknown recuperata per ottenere un'istanza dell'interfaccia IWMDRMNonSilentLicenseAquisition .

Per altre informazioni sull'uso dei metodi asincroni delle API estese del client DRM Windows Media, vedere Uso del modello di evento di Media Foundation.

Requisiti

Requisito Valore
Intestazione
Wmdrmsdk.h
Libreria
Wmdrmsdk.lib

Vedi anche

Interfaccia IWMDRMLicenseManagement

Acquisizione di licenze invisibile all'utente