DRM_LICENSE_STATE_DATA-Struktur (Wmdrmsdk.h)
Die DRM_LICENSE_STATE_DATA-Struktur enthält Informationen zu den Lizenzeinschränkungen für ein DRM-Recht.
Syntax
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;
} ;
Member
-
dwStreamId
-
Streamnummer, für die die Lizenz gilt. Muss 0 sein, was angibt, dass die Lizenz für alle Streams in der Datei gilt.
-
dwCategory
-
Kategorie der anzuzeigenden Zeichenfolge. Mögliche Werte und deren Bedeutung finden Sie unter DRM_LICENSE_STATE_CATEGORY .
-
dwNumCounts
-
Anzahl der in dwCount bereitgestellten Elemente. Dieser Wert ist in der Regel 0 oder 1.
-
dwCount[4]
-
Ein Array mit 0 oder 1 oder mehr DWORD-Werten , die die Häufigkeit der Ausführung der in dwCategory angegebenen Aktion darstellen. Siehe Hinweise.
-
dwNumDates
-
Anzahl der in datetime bereitgestellten Elemente. In der Regel werden nicht mehr als zwei Datumsangaben verwendet, z. B. bei einer Lizenz, die von einem Datum bis zu einem anderen Datum gültig ist.
-
datetime[4]
-
Ein Array von mindestens einer FILETIME-Struktur , die mindestens ein Datum in der Lizenz darstellt. Die Bedeutung eines bestimmten Datums hängt vom Wert von dwCategory ab.
-
dwVague
-
Null oder mehr der folgenden Flags kombiniert mit einem bitweisen OR:
Flag Beschreibung DRM_LICENSE_STATE_DATA_VAGUE Wenn festgelegt, gibt es möglicherweise weitere Lizenzen, die für den Inhalt gelten. Die einzige Möglichkeit, sich über die einzelnen Lizenzen zu vergewissern, die für eine bestimmte Schlüssel-ID gelten, besteht darin, die Lizenzen aufzulisten. Rufen Sie hierzu IWMDRMLicenseManagement::CreateLicenseEnumeration auf, und übergeben Sie die Schlüssel-ID als bstrKID-Parameter. Verwenden Sie dann die abgerufene IWMDRMLicense-Schnittstelle, um die Lizenzen zu untersuchen. DRM_LICENSE_STATE_DATA_OPL_PRESENT Wenn festgelegt, enthält die Lizenz Ausgabeschutzstufen (OPLs), die abgerufen und mit dem Ziel der Ausgabe Ihrer Anwendung überprüft werden müssen. DRM_LICENSE_STATE_DATA_SAP_PRESENT Falls festgelegt, muss der Inhalt mithilfe des sicheren Audiopfads (SAP) übermittelt werden.
Bemerkungen
Diese Struktur wird durch Aufrufen von IWMDRMLicenseQuery::QueryLicenseState abgerufen.
Wenn dwCategoryWM_DRM_LICENSE_STATE_COUNT_FROM_UNTIL ist, enthält das datetime-Array in der Regel zwei Datumsangaben: ein "from"-Datum und ein "bis"-Datum. Es können auch zwei Datumspaare angegeben werden, um komplexere Lizenzen zu erstellen.
Die Elemente des dwCount-Arrays entsprechen den im datetime-Array angegebenen Datums- oder Datumsbereichen. Wenn dwCategoryWM_DRM_LICENSE_STATE_COUNT_FROM_UNTIL und datetime ein Datumspaar enthält, enthält dwCount ein Element. Wenn datetime zwei Datumspaare (vier Elemente) enthält, sollte dwCount zwei Elemente enthalten, eines für jedes Datumspaar.
In einigen Fällen wurden Benutzer möglicherweise mehr als eine Lizenz für eine Datei ausgestellt. Sie haben beispielsweise eine Lizenz erworben, die bis Ende des Monats fünf Spiele zugelassen hat, und später eine zweite Lizenz für unbegrenzte Rechte erworben. In einem solchen Fall wird das DRM_LICENSE_STATE_DATA_VAGUE-Flag in dwVague (dwVague & DRM_LICENSE_STATE_DATA_VAGUE != 0
) festgelegt, und die DRM-Komponente verwendet einen Algorithmus, um den wahrscheinlichsten Satz von Rechten zu bestimmen, die angewendet wurden. Wenn eine Lizenz abläuft, untersucht die DRM-Komponente die verbleibenden Lizenzen usw., bis alle Lizenzen abgelaufen sind.
Anforderungen
Anforderung | Wert |
---|---|
Header |
|