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:
- DRM_LicenseState_Playback
- DRM_LicenseState_CopyToCD
- DRM_LicenseState_CopyToSDMIDevice
- DRM_LicenseState_CopyToNonSDMIDevice
- DRM_LicenseState_CollaborativePlay
- DRM_LicenseState_Copy
- DRM_LicenseState_PlaylistBurn
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 |
|