ITpmVirtualSmartCardManager::CreateVirtualSmartCard メソッド (tpmvscmgr.h)
指定されたパラメーターを使用して TPM 仮想スマート カードを作成します。
構文
HRESULT CreateVirtualSmartCard(
[in] LPCWSTR pszFriendlyName,
[in] BYTE bAdminAlgId,
[in] const BYTE *pbAdminKey,
[in] DWORD cbAdminKey,
[in, optional] const BYTE *pbAdminKcv,
[in] DWORD cbAdminKcv,
[in, optional] const BYTE *pbPuk,
[in] DWORD cbPuk,
[in] const BYTE *pbPin,
[in] DWORD cbPin,
[in] BOOL fGenerate,
[in, optional] ITpmVirtualSmartCardManagerStatusCallback *pStatusCallback,
[out] LPWSTR *ppszInstanceId,
[out] BOOL *pfNeedReboot
);
パラメーター
[in] pszFriendlyName
スマート カード リーダー ノードの表示名。 これはデバイス マネージャーに表示されますが、スマート カード リソース マネージャー (SCRM) に表示されるリーダー名ではありません。
[in] bAdminAlgId
管理キーのアルゴリズム識別子。 現在、受信トレイ GIDS ミニドライバーを操作するには、この値をVSC_DEFAULT_ADMIN_ALGORITHM_IDする必要があります (CBC チェーン モードの ISO/IEC 9797 パディング方法 2 を使用した 3 キートリプル DES)。
[in] pbAdminKey
作成する仮想スマート カードの管理キーを含むバイト配列へのポインター。
[in] cbAdminKey
pbAdminKey パラメーターが指すバイト配列のサイズ (バイト単位)。
[in, optional] pbAdminKcv
管理キーのキーチェック値を含むバイト配列へのポインター。 キーチェック値は、管理キーを使用してゼロのブロックを暗号化する場合、出力 BLOB の最初の 3 バイトとして定義されます。 キーチェック値が指定されていない場合、管理者キーの整合性チェックはありません。
[in] cbAdminKcv
pbAdminKcv パラメーターが指すバイト配列のサイズ (バイト単位)。
[in, optional] pbPuk
仮想スマート カードの PIN ロック解除キー (PUK) 値を含むバイト配列へのポインター。 通常は、8 文字の最小長の ASCII 文字のシーケンスです。 PUK が指定されていない場合、仮想スマート カードは PUK ロールなしで作成され、代わりに管理者ロールを介してチャレンジ/応答ベースの PIN リセットが使用されます。
[in] cbPuk
pbPuk パラメーターが指すバイト配列のサイズ (バイト単位)。
[in] pbPin
仮想スマート カードの PIN 値を含むバイト配列へのポインター。 通常、長さが 8 文字、最大 127 文字の ASCII 文字のシーケンスです。
[in] cbPin
pbPin パラメーターが指すバイト配列のサイズ (バイト単位)。
[in] fGenerate
ベース CSP とスマート カード KSP で必要なすべてのファイルを使用して仮想スマート カードをプロビジョニングする必要があるかどうかを示します。
[in, optional] pStatusCallback
ITpmVirtualSmartCardManagerStatusCallback インターフェイスへのポインター。 TPM 仮想スマート カード マネージャーは、このコールバック インターフェイスを使用して、仮想スマート カードの作成時に進行状況またはエラーを通知します。 pStatusCallback パラメーターが NULL の場合、操作が完了する前にクライアントに進行状況は報告されません。
[out] ppszInstanceId
作成された仮想スマート カードのインスタンス ID を受け取る Unicode バッファーへのポインターへのポインター。
[out] pfNeedReboot
要求された操作でコンピューターを再起動する必要があるかどうかを受け取るブール値へのポインター。
戻り値
メソッドが成功すると、 S_OKが返されます。
メソッドが失敗すると、Win32 エラー コードが返されます。
注釈
メソッドが成功すると、ppszInstanceId パラメーターは、新しく作成された TPM 仮想スマート カード リーダーのインスタンス識別子を含む Unicode バッファーを指します。 バッファーの使用が完了したら、COM メモリ管理規則に従って CoTaskMemFree 関数を呼び出して、呼び出し元がクライアント上のバッファーを解放する必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2012 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | tpmvscmgr.h |
Library | Vscmgr.lib |