Поделиться через


структура DRM_LICENSE_STATE_DATA (Drmexternals.h)

Структура DRM_LICENSE_STATE_DATA содержит сведения о лицензии на указанное право DRM .

Синтаксис

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

Члены

dwStreamId

Номер потока, к которому применяется лицензия. Значение должно иметь значение 0, указывающее, что лицензия применяется ко всем потокам в файле.

dwCategory

Категория отображаемой строки. Возможные значения и их значение см. в DRM_LICENSE_STATE_CATEGORY .

dwNumCounts

Количество элементов, предоставленных в dwCount. Обычно это значение равно 0 или 1.

dwCount[4]

Массив из 0 или 1 или более DWORD, представляющий количество выполнений действия, указанного в dwCategory . См. примечания.

DwNumDates

Количество элементов, предоставленных в параметре datetime. Обычно используется не более двух дат, например с лицензией, действующей от одной даты до другой даты.

datetime[4]

Массив из одной или нескольких структур FILETIME, представляющих одну или несколько дат в лицензии. Значение конкретной даты зависит от значения dwCategory.

dwVague

Ноль или более следующих флагов в сочетании с побитовой ИЛИ:

Flag Описание
DRM_LICENSE_STATE_DATA_VAGUE Если этот параметр задан, к содержимому может применяться больше лицензий.
DRM_LICENSE_STATE_DATA_OPL_PRESENT Если этот параметр задан, лицензия включает уровни защиты выходных данных (OPL), которые должны быть извлечены и проверены по назначению выходных данных приложения.
DRM_LICENSE_STATE_DATA_SAP_PRESENT Если этот параметр задан, содержимое должно быть доставлено с помощью безопасного звукового пути (SAP).

Комментарии

Эта структура возвращается (инкапсулируется в структуру WM_LICENSE_STATE_DATA ) при вызове IWMDRMReader::GetDRMProperty при указании одного из свойств состояния лицензии DRM. К этим свойствам относятся следующие.

Если параметр dwCategory имеет значение WM_DRM_LICENSE_STATE_COUNT_FROM_UNTIL, массив datetime обычно содержит две даты: дату from и дату "до". Для создания более сложных лицензий также можно указать две пары дат.

Элементы массива dwCount соответствуют датам или диапазонам дат, указанным в массиве datetime . Если параметр dwCategory имеет значение WM_DRM_LICENSE_STATE_COUNT_FROM_UNTIL а datetime содержит одну пару дат, dwCount будет содержать один элемент. Если datetime содержит две пары дат (четыре элемента), dwCount должна содержать два элемента, по одному для каждой пары дат.

В некоторых случаях пользователям может быть выдано несколько лицензий на файл. Например, они могли приобрести лицензию, разрешающую пять пьес до конца месяца, а затем приобрели вторую лицензию на неограниченные права. В этом случае флаг DRM_LICENSE_STATE_DATA_VAGUE устанавливается в dwVague (dwVague & DRM_LICENSE_STATE_DATA_VAGUE != 0), а компонент DRM будет использовать алгоритм для определения наиболее вероятного набора примененных прав. По истечении срока действия одной лицензии компонент DRM будет проверять оставшиеся лицензии и т. д., пока не истечет срок действия всех лицензий.

Требования

Требование Значение
Минимальная версия клиента
Windows 2000 Professional [только классические приложения]
Минимальная версия сервера
Windows 2000 Server [только классические приложения]
Версия
Пакет SDK для Windows Media в формате 7 или более поздние версии пакета SDK
Заголовок
Drmexternals.h

См. также раздел

Структуры