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。 其他可能的值包括:
| 傳回碼 | 描述 |
|---|---|
|
|
|
hDrt 是不正確控制碼,或 phKeyRegistration 是不正確控制碼 |
|
DRT_REGISTRATION 結構之索引鍵成員的 cb 值大小不等於 256 位,或DRT_REGISTRATION結構之索引鍵成員的pb值為Null。 |
|
DRT 雲端處於錯誤狀態。 |
|
金鑰已註冊。 |
|
提供的認證鏈結無效。 |
|
提供的憑證提供者不支援 AES。 |
|
提供的金鑰與產生的金鑰不符。 |
|
找不到有效的位址。 |
|
傳輸正在關閉。 |
|
傳輸提供者為 Null。 |
|
傳輸未附加。 |
|
未附加安全性提供者。 |
|
傳輸目前未系結。 |
|
系統記憶體不足。 |
|
|
|
發生非預期的嚴重錯誤。 |
注意DrtRegisterKey 也可能顯示來自 對 CryptGetProvParam基礎呼叫的錯誤, CertGetCertificateChain、 CertOpenStore、 CertAddCertificateCoNtextToStore、 CryptCoNtextAddRef、 CryptAcquireCertificatePrivateKey、 CertSaveStore、 WSAIoctl、 CryptImportPublicKeyInfoEx2、 NCryptSignHash、 CertEnumCertificatesInStore、 BCryptGetProperty、 BCryptGenRandom、 BCryptGenerateSymmetricKey 和 BCryptEncrypt。
備註
節點可以在 處於DRT_ACTIVE、 DRT_ALONE或 DRT_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 |