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

以下标志的零个或多个与按位 OR 组合在一起:

标志 描述
DRM_LICENSE_STATE_DATA_VAGUE 如果设置,可能会有更多的许可证适用于内容。
DRM_LICENSE_STATE_DATA_OPL_PRESENT 如果设置,许可证包括输出保护级别 (OPL) ,必须根据应用程序输出的目标检索和检查。
DRM_LICENSE_STATE_DATA_SAP_PRESENT 如果已设置,必须使用安全音频路径 (SAP) 传送内容。

备注

指定一个 DRM 许可证状态属性时,此结构 (封装在 WM_LICENSE_STATE_DATA 结构中,) 调用 IWMDRMReader::GetDRMProperty 时返回。 这些属性为:

如果 dwCategory为WM_DRM_LICENSE_STATE_COUNT_FROM_UNTIL,datetime 数组通常包含两个日期:“从”日期和“直到”日期。 还可以指定两个日期对来创建更复杂的许可证。

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 [仅限桌面应用]
版本
Windows Media Format 7 SDK 或更高版本的 SDK
标头
Drmexternals.h

另请参阅

结构