DRM_LICENSE_STATE_DATA struttura (Wmdrmsdk.h)

La struttura DRM_LICENSE_STATE_DATA contiene informazioni sulle restrizioni di licenza per un diritto DRM.

Sintassi

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;
} ;

Members

dwStreamId

Numero di flusso a cui si applica la licenza. Deve essere 0, che indica che la licenza si applica a tutti i flussi nel file.

dwCategory

Categoria di stringa da visualizzare. Vedere DRM_LICENSE_STATE_CATEGORY per i valori possibili e il relativo significato.

dwNumCounts

Numero di elementi forniti in dwCount. Questo valore è in genere 0 o 1.

dwCount[4]

Matrice di 0 o 1 o più valori DWORD che rappresentano il numero di volte in cui è possibile eseguire l'azione specificata in dwCategory . Vedere la sezione Osservazioni.

dwNumDates

Numero di elementi forniti in datetime. In genere non vengono usate più di due date, ad esempio con una licenza valida da una data fino a un'altra data.

datetime[4]

Matrice di una o più strutture FILETIME che rappresentano una o più date nella licenza. Il significato di una determinata data dipende dal valore di dwCategory.

dwVague

Zero o più flag seguenti combinati con un OR bit per bit:

Flag Descrizione
DRM_LICENSE_STATE_DATA_VAGUE Se impostato, potrebbero essere presenti più licenze che si applicano al contenuto. L'unico modo per essere certi delle singole licenze che si applicano a un determinato ID chiave consiste nell'enumerare le licenze. A tale scopo, chiamare IWMDRMLicenseManagement::CreateLicenseEnumeration, passando l'ID chiave come parametro bstrKID. Usare quindi l'interfaccia IWMDRMLicense recuperata per esaminare le licenze.
DRM_LICENSE_STATE_DATA_OPL_PRESENT Se impostata, la licenza include i livelli di protezione di output (OPLs) che devono essere recuperati e controllati rispetto alla destinazione dell'output dell'applicazione.
DRM_LICENSE_STATE_DATA_SAP_PRESENT Se impostato, il contenuto deve essere recapitato usando il percorso audio sicuro (SAP).

Commenti

Questa struttura viene recuperata chiamando IWMDRMLicenseQuery::QueryLicenseState.

Se dwCategory è WM_DRM_LICENSE_STATE_COUNT_FROM_UNTIL, la matrice datetime contiene in genere due date: una data "da" e una data "fino a". È anche possibile specificare due coppie di date per creare licenze più complesse.

Gli elementi della matrice dwCount corrispondono alle date o agli intervalli di date specificati nella matrice datetime . Se dwCategory è WM_DRM_LICENSE_STATE_COUNT_FROM_UNTIL e datetime contiene una coppia di date, dwCount conterrà un elemento. Se datetime contiene due coppie di date (quattro elementi), dwCount deve contenere due elementi, uno per ogni coppia di date.

In alcuni casi, gli utenti potrebbero essere stati rilasciati più di una licenza per un file. Ad esempio, potrebbero avere acquisito una licenza che ha consentito cinque giochi fino alla fine del mese e successivamente ha acquisito una seconda licenza per diritti illimitati. In tal caso, il flag di DRM_LICENSE_STATE_DATA_VAGUE è impostato in dwVague (dwVague & DRM_LICENSE_STATE_DATA_VAGUE != 0) e il componente DRM userà un algoritmo per determinare il set più probabile di diritti applicati. Quando una licenza scade, il componente DRM esaminerà le licenze rimanenti e così via fino a quando non sono scadute tutte le licenze.

Requisiti

Requisito Valore
Intestazione
Wmdrmsdk.h

Vedi anche

Strutture