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 时返回。 这些属性为:
- 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 数组通常包含两个日期:“从”日期和“直到”日期。 还可以指定两个日期对来创建更复杂的许可证。
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 |
标头 |
|