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

另请参阅

IWMDMStorageGlobals 接口

使用经过身份验证的安全通道