Compartir a través de


estructura DRM_LICENSE_STATE_DATA (Drmexternals.h)

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

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 DWORDs que representan el número de veces que se puede realizar la acción especificada en dwCategory . Vea Notas.

dwNumDates

Número de elementos proporcionados en datetime. Normalmente no se usan más de dos fechas, por ejemplo, con una licencia válida desde una fecha hasta 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.
DRM_LICENSE_STATE_DATA_OPL_PRESENT Si se establece, la licencia incluye niveles de protección de salida (OPLs) 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 devuelve (encapsulada en una estructura de WM_LICENSE_STATE_DATA ) desde una llamada a IWMDRMReader::GetDRMProperty al especificar una de las propiedades del estado de la licencia DRM. Estas propiedades son:

Si dwCategory es WM_DRM_LICENSE_STATE_COUNT_FROM_UNTIL, la matriz datetime normalmente contendrá dos fechas, una fecha "de" y una fecha "hasta". 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 más tarde 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
Cliente mínimo compatible
Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible
Windows 2000 Server [solo aplicaciones de escritorio]
Versión
SDK de Windows Media Format 7 o versiones posteriores del SDK
Encabezado
Drmexternals.h

Vea también

Estructuras