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