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 |