[与此页面关联的功能(Windows Media Format 11 SDK)是一项旧功能。 它已被 源读取器 和 接收器编写器取代。 源读取器 和 接收器编写器 已针对 Windows 10 和 Windows 11 进行了优化。 Microsoft强烈建议新代码尽可能使用 源读取器 和 接收器编写器,而不是 Windows 媒体格式 11 SDK。 Microsoft建议重写使用旧 API 的现有代码,以尽可能使用新 API。]
Windows 媒体格式 SDK 提供对设备注册数据库的访问权限。 此数据库在客户端计算机上受到保护,用于注册支持适用于网络设备的 Windows Media DRM 10 的设备。
将设备添加到客户端计算机连接到的网络时,设备将尝试联系 Windows Media DRM 10 for Network Devices 发送器应用程序。 建立通信后,设备会发送注册请求消息。
应用程序在收到注册请求消息时应执行以下步骤:
- 通过调用 IWMDRMMessageParser::P arseRegistrationReqMsg 方法分析消息。 此方法检索设备证书和设备序列号,这两者都需要标识设备。
- 调用 IWMDeviceRegistration::GetRegisteredDeviceByID 方法,传入步骤 1 中检索的证书和设备序列号。 如果找到设备,则已注册该设备,可以跳过下一步。
- 调用 IWMDeviceRegistration::RegisterDevice 方法将设备添加到设备注册数据库。
可以通过检索与其关联的已注册设备对象来访问有关注册数据库中的任何设备的信息。 有两种方法可以获取已注册的设备对象。 如果你有设备的证书和序列号,则可以调用 IWMDeviceRegistration::GetRegisteredDeviceByID 方法。 如果没有设备的证书和序列号,可以通过调用 IWMDeviceRegistration::GetFirstRegisteredDevice,然后重复调用 IWMDeviceRegistration::GetNextRegisteredDevice 来枚举数据库中的所有设备,直到调用返回S_FALSE。
在应用程序将数据发送到设备之前,必须确保设备已获得批准、验证和打开。
设备审批应涉及与用户的交互。 当设备发送注册消息时,应用程序可以提示用户确定设备是否应接收该用户的数据。 然后,通过调用 IWMRegisteredDevice::Approve 方法更新设备注册数据库,并根据需要传递 TRUE 或 FALSE。
验证也称为邻近检测。 这是 Windows 媒体格式 SDK 的内部 DRM 对象确定设备是否足够“接近”运行应用程序的计算机以安全传输媒体的过程。 近度取决于获取对消息的响应所需的时间。 此功能旨在防止未经授权的用户访问网络并获取安全媒体。 有关详细信息,请参阅 执行邻近感应检测。
若要打开设备,请调用 IWMRegisteredDevice::Open。
注意
此 SDK 的基于 x64 的版本不支持 DRM。
相关主题