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_ACTIVEDRT_ALONEDRT_NO_NETWORK 狀態時註冊金鑰。 不過,在本機節點轉換為DRT_ACTIVE之後,只能在其他 DRT 辨識DRT_ALONE和DRT_NO_NETWORK狀態金鑰。

若要更新現有的金鑰,應用程式必須先使用 DrtUnregisterKey 取消註冊金鑰,再呼叫 DrtRegisterKey 來註冊更新的金鑰。

需求

   
最低支援的用戶端 Windows 7 專業版 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 R2 [僅限傳統型應用程式]
目標平台 Windows
標頭 drt.h
程式庫 Drt.lib
Dll Drt.dll

另請參閱

DRT_REGISTRATION

DrtOpen

DrtUnregisterKey