Compartir a través de


estructura DRM_LICENSE_STATE_DATA (Wmdrmsdk.h)

La estructura DRM_LICENSE_STATE_DATA contiene información sobre las restricciones de licencia de un derecho DRM.

Sintaxis

typedef struct DRM_LICENSE_STATE_DATA {
  DWORD                      dwStreamId;
  DRM_LICENSE_STATE_CATEGORY dwCategory;
  DWORD                      dwNumCounts;
  DWORD                      dwCount[4];
  DWORD                      dwNumDates;
  FILETIME                   datetime[4];
  DWORD                      dwVague;
} ;

Miembros

dwStreamId

Número de secuencia al que se aplica la licencia. Debe ser 0, lo que indica que la licencia se aplica a todas las secuencias del archivo.

dwCategory

Categoría de cadena que se va a mostrar. Consulte DRM_LICENSE_STATE_CATEGORY para conocer los valores posibles y su significado.

dwNumCounts

Número de elementos proporcionados en dwCount. Este valor suele ser 0 o 1.

dwCount[4]

Matriz de 0 o 1 o más valores DWORD que representan el número de veces que se puede realizar la acción especificada en dwCategory . Vea la sección Comentarios.

dwNumDates

Número de elementos proporcionados en datetime. Normalmente no se usan más de dos fechas, por ejemplo, con una licencia válida de una fecha a otra.

datetime[4]

Matriz de una o varias estructuras FILETIME que representan una o varias fechas de la licencia. El significado de una fecha determinada depende del valor de dwCategory.

dwVague

Cero o más de las marcas siguientes combinadas con un or bit a bit:

Marca Descripción
DRM_LICENSE_STATE_DATA_VAGUE Si se establece, puede haber más licencias que se apliquen al contenido. La única manera de estar seguro sobre las licencias individuales que se aplican a un identificador de clave determinado es enumerar las licencias. Para ello, llame a IWMDRMLicenseManagement::CreateLicenseEnumeration y pase el identificador de clave como parámetro bstrKID. A continuación, use la interfaz IWMDRMLicense recuperada para examinar las licencias.
DRM_LICENSE_STATE_DATA_OPL_PRESENT Si se establece, la licencia incluye niveles de protección de salida (OPL) que se deben recuperar y comprobar con el destino de la salida de la aplicación.
DRM_LICENSE_STATE_DATA_SAP_PRESENT Si se establece, el contenido debe entregarse mediante la ruta de acceso de audio segura (SAP).

Observaciones

Esta estructura se recupera llamando a IWMDRMLicenseQuery::QueryLicenseState.

Si dwCategory es WM_DRM_LICENSE_STATE_COUNT_FROM_UNTIL, la matriz datetime normalmente contendrá dos fechas: una fecha "from" y una fecha "until". También se pueden especificar dos pares de fecha para crear licencias más complejas.

Los elementos de la matriz dwCount corresponden a las fechas o intervalos de fechas especificados en la matriz datetime . Si dwCategory es WM_DRM_LICENSE_STATE_COUNT_FROM_UNTIL y datetime contiene un par de fechas, dwCount contendrá un elemento. Si datetime contiene dos pares de fecha (cuatro elementos), dwCount debe contener dos elementos, uno para cada par de fechas.

En algunos casos, es posible que los usuarios hayan emitido más de una licencia para un archivo. Por ejemplo, podrían haber adquirido una licencia que permitía cinco reproducciones hasta finales del mes y, posteriormente, adquirieron una segunda licencia para derechos ilimitados. En tal caso, la marca DRM_LICENSE_STATE_DATA_VAGUE se establece en dwVague (dwVague & DRM_LICENSE_STATE_DATA_VAGUE != 0) y el componente DRM usará un algoritmo para determinar el conjunto más probable de derechos que se han aplicado. Cuando expire una licencia, el componente DRM examinará las licencias restantes, etc. hasta que todas las licencias hayan expirado.

Requisitos

Requisito Value
Encabezado
Wmdrmsdk.h

Vea también

Estructuras