DrtRegisterKey 関数 (drt.h)

DrtRegisterKey 関数は、DRT にキーを登録します。

構文

HRESULT DrtRegisterKey(
  [in]           HDRT                      hDrt,
  [in]           DRT_REGISTRATION          *pRegistration,
  [in, optional] PVOID                     pvKeyContext,
  [out]          HDRT_REGISTRATION_CONTEXT *phKeyRegistration
);

パラメーター

[in] hDrt

DrtOpen 関数によって返されるハンドルへのポインター。

[in] pRegistration

DRT_REGISTRATION構造体へのハンドルへのポインター。

[in, optional] pvKeyContext

DRT 内のキーに関連付けられているコンテキスト データへのポインター。 このデータは、セキュリティ プロバイダーのキー固有の機能に渡されます。

[out] phKeyRegistration

登録されているキーのハンドルへのポインター。

戻り値

この関数は、成功したS_OKを返します。 その他の可能な値は次のとおりです。

リターン コード 説明
E_INVALIDARG
  • pRegistrationNULL です
  • DRT_REGISTRATION構造体の appData メンバーの cb 値が大きすぎます (つまり、1 未満)。
  • DRT_REGISTRATION構造体の appData メンバーの cb 値が大きすぎます (つまり、5120 を超えています)。
  • DRT_REGISTRATION 構造体のキー メンバーの pb 値は NULL です
  • phKeyRegistrationNULL です
E_HANDLE
hDrt が無効なハンドルであるか、 phKeyRegistration が無効なハンドルです
DRT_E_INVALID_KEY_SIZE
DRT_REGISTRATION 構造体のキー メンバーの cb 値のサイズが 256 ビットに等しくないか、DRT_REGISTRATION構造体のキー メンバーの pb 値が NULL です。
DRT_E_FAULTED
DRT クラウドは障害状態です。
DRT_E_DUPLICATE_KEY
キーは既に登録されています。
DRT_E_INVALID_CERT_CHAIN
指定された認定チェーンが無効です。
DRT_E_CAPABILITY_MISMATCH
指定された証明書プロバイダーが AES 対応ではありません。
DRT_E_INVALID_KEY
指定されたキーが、生成されたキーと一致しません。
DRT_E_TRANSPORT_NO_DEST_ADDRESSES
有効なアドレスが見つかりません。
DRT_E_TRANSPORT_SHUTTING_DOWN
トランスポートがシャットダウンしています。
DRT_E_INVALID_TRANSPORT_PROVIDER
トランスポート プロバイダーが NULL です
DRT_E_TRANSPORTPROVIDER_NOT_ATTACHED
トランスポートは接続されていません。
DRT_E_SECURITYPROVIDER_NOT_ATTACHED
セキュリティ プロバイダーがアタッチされていません。
DRT_E_TRANSPORT_NOT_BOUND
トランスポートは現在バインドされていません。
E_OUTOFMEMORY
システムがメモリ不足です。
E_UNEXPECTED
  • GlobalControl.HandleTable が NULL です
  • クラウドがシャットダウンしています。
  • DRT がシャットダウンしています。
E_FAIL
予期しない致命的なエラーが発生しました。
 
 

解説

ノードは、DRT_ACTIVE、DRT_ALONE、またはDRT_NO_NETWORK状態の間にキー登録できます。 ただし、DRT_ALONE および DRT_NO_NETWORK 状態に登録されているキーは、ローカル ノードがDRT_ACTIVEに移行した後にのみ、他の DRT によって認識できます。

既存のキーを更新するには、更新されたキーを登録するために DrtRegisterKey を 呼び出す前に、アプリケーションで最初に DrtUnregisterKey を使用してキーの登録を解除する必要があります。

要件

   
サポートされている最小のクライアント Windows 7 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 R2 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー drt.h
Library Drt.lib
[DLL] Drt.dll

関連項目

DRT_REGISTRATION

DrtOpen

DrtUnregisterKey