

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# NCryptOpenKey 使用密钥存储提供商 (KSP)
<a name="ksp-library-apis-open-key"></a>

`NCryptOpenKey` 函数打开密钥存储提供程序（KSP）中存在的密钥。

## 参数
<a name="ksp-library-apis-open-key-parameters"></a>

 `hProvider` [in]   
包含密钥的 KSP 句柄。使用 [`NCryptOpenStorageProvider`](ksp-library-apis-open-provider.md) 获取句柄。

 `phKey` [out]   
指向存储密钥句柄的 `NCRYPT_KEY_HANDLE` 变量的指针。

`pszKeyName` [in]  
指向以 null 结尾的 Unicode 字符串的指针，该字符串包含密钥名称。

`dwLegacyKeySpec` [in, unused]  
AWS CloudHSM 密钥存储提供程序 (KSP) 不使用此参数。

`dwFlags` [in]  
修改函数行为的标志。没有为此函数定义任何标志。

## 返回值
<a name="ksp-library-apis-open-key-return-value"></a>

该函数返回一个状态代码，指示成功或失败。

常见的返回代码包括：


****  

| 返回代码 | 说明 | 
| --- | --- | 
|  ERROR\$1SUCCESS  |  操作已成功完成。  | 
|  NTE\$1INVALID\$1PARAMETER  |  一个或多个参数无效。  | 
|  NTE\$1FAIL  |  操作无法完成。  | 
|  NTE\$1INVALID\$1HANDLE  |  `hProvider` 中的句柄无效。  | 
|  NTE\$1BAD\$1KEYSET  |  提供的密钥名称未返回唯一结果。  | 