Freigeben über


DRM_LICENSE_STATE_DATA-Struktur (Drmexternals.h)

Die DRM_LICENSE_STATE_DATA-Struktur enthält Lizenzinformationen zu einem angegebenen 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 von 0 oder 1 oder mehr DWORDs, die die Häufigkeit der Ausführung der in dwCategory angegebenen Aktion darstellen. Siehe Bemerkungen.

dwNumDates

Anzahl der in datetime bereitgestellten Elemente. In der Regel werden nicht mehr als zwei Datumsangaben verwendet, z. B. mit einer Lizenz, die von einem Datum bis zu einem anderen Datum gültig ist.

datetime[4]

Ein Array von mindestens einer FILETIME-Struktur, die ein oder mehrere Datumsangaben 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.
DRM_LICENSE_STATE_DATA_OPL_PRESENT Wenn festgelegt, enthält die Lizenz Ausgabeschutzebenen (OPLs), die abgerufen und anhand des Ziels 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 zurückgegeben (gekapselt in einer WM_LICENSE_STATE_DATA-Struktur ) von einem Aufruf von IWMDRMReader::GetDRMProperty , wenn Sie eine der DRM-Lizenzstatuseigenschaften angeben. Diese Eigenschaften sind:

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 ist 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 Benutzern möglicherweise mehrere Lizenzen für eine Datei ausgestellt. Beispielsweise könnten sie eine Lizenz erworben haben, die bis zum Ende des Monats fünf Wiedergaben erlaubte, und später eine zweite Lizenz für unbegrenzte Rechte erworben haben. In einem solchen Fall wird das flag DRM_LICENSE_STATE_DATA_VAGUE in dwVague (dwVague & DRM_LICENSE_STATE_DATA_VAGUE != 0) festgelegt, und die DRM-Komponente verwendet einen Algorithmus, um den wahrscheinlichsten Satz angewendeter Rechte zu bestimmen. Wenn eine Lizenz abläuft, überprüft die DRM-Komponente die verbleibenden Lizenzen usw., bis alle Lizenzen abgelaufen sind.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows 2000 Server [nur Desktop-Apps]
Version
Windows Media Format 7 SDK oder höhere Versionen des SDK
Header
Drmexternals.h

Siehe auch

Strukturen