IWMDMStorageGlobals::GetSerialNumber 方法 (mswmdm.h)
GetSerialNumber 方法检索唯一标识存储介质的序列号。
语法
HRESULT GetSerialNumber(
[out] PWMDMID pSerialNum,
[in, out] BYTE [8] abMac
);
参数
[out] pSerialNum
指向指定序列号信息的 WMDMID 结构的指针。
[in, out] abMac
为此方法的参数数据指定消息身份验证代码的字节数组。 此内存由调用方分配和释放。
返回值
该方法返回 HRESULT。 Windows Media 设备管理器 中的所有接口方法都可以返回以下任一类错误代码:
- 标准 COM 错误代码
- 转换为 HRESULT 值的 Windows 错误代码
- Windows Media 设备管理器错误代码
注解
并非所有存储媒体都支持序列号,但需要一个序列号才能支持 Microsoft 数字版权管理。 如果存储介质无法报告唯一的序列号,则受 Microsoft 数字权限管理保护的内容无法传输到此存储介质。 应检查返回代码以确定存储介质是否提供此支持。
示例
以下 C++ 代码检索根存储对象的序列号,并验证 MAC。
hr = m_pStorageGlobals->GetSerialNumber(&m_SerialNumber, (BYTE*)abMAC);
if (SUCCEEDED(hr))
{
// Verify the MAC using the CSecureChannelClient member.
m_pSAC->MACInit(&hMAC);
m_pSAC->MACUpdate(hMAC, (BYTE*)(&m_SerialNumber), sizeof(m_SerialNumber));
m_pSAC->MACFinal(hMAC, (BYTE*)abMACVerify);
if (memcmp(abMACVerify, abMAC, sizeof(abMAC)) != 0)
{
hr = E_FAIL;
}
}
要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | mswmdm.h |
Library | Mssachlp.lib |