Método IWMDRMLicenseManagement::AcquireLicense

[La característica asociada a esta página, WINDOWS Media Format 11 SDK, es una característica heredada. Se ha reemplazado por lector de origen y escritor receptor. Lector de origen y escritor receptor se han optimizado para Windows 10 y Windows 11. Microsoft recomienda encarecidamente que el nuevo código use lector fuente y escritor receptor en lugar del SDK de Windows Media Format 11, siempre que sea posible. Microsoft sugiere que el código existente que usa las API heredadas se reescriba para usar las nuevas API si es posible.

El método AcquireLicense adquiere de forma asincrónica una licencia de una dirección URL especificada.

Sintaxis

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

Parámetros

bstrURL [in]

Dirección URL del servidor de licencias desde el que adquirir la licencia. Pase NULL para que el método analice la dirección URL del encabezado de contenido.

bstrHeaderData [in]

Encabezado de contenido que se va a pasar al servidor de licencias. Si bstrURL es NULL, el método analizará la dirección URL de este encabezado. Si dwFlags se establece en WMDRM_ACQUIRE_LICENSE_LEGACY_NONSILENT, establezca este valor en el identificador de clave en lugar del encabezado de contenido completo.

bstrActions [in]

Cadena que contiene cero o más acciones para las que se va a solicitar permiso en la licencia. La cadena debe tener el siguiente formato:

  • Cada acción debe definirse dentro de un elemento ACTION. Los datos del elemento son la cadena de acción.

  • Todos los elementos ACTION deben estar contenidos dentro de un elemento ACTIONLIST.

    Por ejemplo, la cadena para solicitar una licencia para reproducir contenido tiene el formato siguiente:

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

dwFlags [in]

Marcas de opción de adquisición de licencias. Establezca en una de las constantes de la tabla siguiente.

Constante Descripción
WMDRM_ACQUIRE_LICENSE_SILENT La licencia se emitirá directamente a través de Internet sin ninguna confirmación de la aplicación cliente.
WMDRM_ACQUIRE_LICENSE_NONSILENT El subsistema DRM creará una solicitud de licencia que se devolverá de forma asincrónica para su publicación en el servidor de licencias.
WMDRM_ACQUIRE_LICENSE_LEGACY_NONSILENT Igual que WMDRM_ACQUIRE_LICENSE_NONSILENT, salvo que se creará un desafío de licencia de la versión 1 de DRM.

ppunkCancelationCookie [out]

Puntero que recibe un puntero a la interfaz IUnknown de un objeto que identifica esta llamada asincrónica. Este puntero de interfaz se puede usar para cancelar la llamada asincrónica llamando al método IWMDRMEventGenerator::CancelAsyncOperation .

Valor devuelto

El método devuelve un valor HRESULT. Entre los valores posibles se incluyen los que se indican en la tabla siguiente, entre otros.

Código devuelto Descripción
S_OK
El método se ha llevado a cabo de forma correcta.

Observaciones

Este método se ejecuta de forma asincrónica. Devuelve inmediatamente después de llamar a y, a continuación, genera un evento MEWMDRMLicenseAcquisitionCompleted cuando se completa el procesamiento. Para las operaciones de adquisición de licencias no silenciosas, el valor del evento obtenido llamando a IMFMediaEvent::GetValue es un puntero IUnknown . Puede llamar al método QueryInterface de la interfaz IUnknown recuperada para obtener una instancia de la interfaz IWMDRMNonSilentLicenseAquisition .

Para obtener más información sobre el uso de los métodos asincrónicos de las API extendidas del cliente DRM de Windows Media, consulte Uso del modelo de eventos de Media Foundation.

Requisitos

Requisito Value
Encabezado
Wmdrmsdk.h
Biblioteca
Wmdrmsdk.lib

Consulte también

IWMDRMLicenseManagement (Interfaz)

Adquisición silenciosa de licencias