Share via


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

こちらもご覧ください

ITpmVirtualSmartCardManager