Condividi tramite


DRM_LICENSE_STATE_DATA struttura (Drmexternals.h)

La struttura DRM_LICENSE_STATE_DATA contiene informazioni sulla licenza su un diritto DRM specificato.

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ù DWORDche 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.
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 restituita (incapsulata in una struttura WM_LICENSE_STATE_DATA ) da una chiamata a IWMDRMReader::GetDRMProperty quando si specifica una delle proprietà dello stato della licenza DRM. Le proprietà sono riportate di seguito:

Se dwCategory è WM_DRM_LICENSE_STATE_COUNT_FROM_UNTIL, la matrice datetime contiene in genere due date, una data "from" e una data "fino". È 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. Al termine di una licenza, il componente DRM esaminerà le licenze rimanenti e così via fino a quando non sono scadute tutte le licenze.

Requisiti

Requisito Valore
Client minimo supportato
Windows 2000 Professional [solo app desktop]
Server minimo supportato
Windows 2000 Server [solo app desktop]
Versione
Windows Media Format 7 SDK o versioni successive dell'SDK
Intestazione
Drmexternals.h

Vedi anche

Strutture