структура 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. К этим свойствам относятся следующие.
- DRM_LicenseState_Playback
- DRM_LicenseState_CopyToCD
- DRM_LicenseState_CopyToSDMIDevice
- DRM_LicenseState_CopyToNonSDMIDevice
- DRM_LicenseState_CollaborativePlay
- DRM_LicenseState_Copy
- DRM_LicenseState_PlaylistBurn
Если параметр 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 |
Заголовок |
|