

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

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

`NCryptGetProperty` 函数检索密钥存储对象的属性值。

## 参数
<a name="ksp-library-apis-create-get-property-parameters"></a>

 `hObject` [in]   
 要检索其属性的对象的句柄。您可以使用：  
+ 提供程序句柄（`NCRYPT_PROV_HANDLE`）
+ 密钥句柄（`NCRYPT_KEY_HANDLE`）

 `pszProperty ` [in]   
指向以 null 结尾的 Unicode 字符串的指针，该字符串包含要检索的属性名称。  
使用时`NCRYPT_PROV_HANDLE`， AWS CloudHSM 密钥存储提供程序 (KSP) 支持以下 KSP 标识符：    
****    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/cloudhsm/latest/userguide/ksp-library-apis-get-property.html)
使用时`NCRYPT_KEY_HANDLE`， AWS CloudHSM 密钥存储提供程序 (KSP) 支持以下 KSP 标识符：    
****    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/cloudhsm/latest/userguide/ksp-library-apis-get-property.html)
值是宽字符字符串文字，如文字前的 L 所示。

 `pbOutput` [out]   
用于存储属性值的缓冲区的地址。使用 `cbOutput` 指定缓冲区大小。  
要确定所需的缓冲区大小，请将此参数设置为 NULL。该函数将所需的大小（以字节为单位）存储在 `pcbResult` 所指向的位置。

 `cbOutput` [in]   
 `pbOutput` 缓冲区的大小，以字节为单位。

`pcbResult` [out]  
指向 DWORD 变量的指针，该变量存储复制到 `pbOutput` 缓冲区的字节数。  
如果 `pbOutput` 为 NULL，则存储所需的大小（以字节为单位）。

`dwFlags` [in]  
用于修改函数行为的标志。可以使用零或：    
****    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/cloudhsm/latest/userguide/ksp-library-apis-get-property.html)
当 pszProperty 为 `NCRYPT_SECURITY_DESCR_PROPERTY` 时，使用以下方法之一或组合使用以下方法：    
****    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/cloudhsm/latest/userguide/ksp-library-apis-get-property.html)

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

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

常见的返回代码包括：


****  

| 返回代码 | 说明 | 
| --- | --- | 
| ERROR\_SUCCESS | 操作已成功完成。 | 
| NTE\_INVALID\_PARAMETER | 一个或多个参数无效。 | 
| NTE\_FAIL | 操作无法完成。 | 
| NTE\_BAD\_FLAGS | `dwFlags` 参数包含无效值。 | 
| NTE\_NOT\_SUPPORTED | `pszAlgId` 参数包含不支持的值。 | 
| NTE\_INVALID\_HANDLE | `hObject` 中的句柄无效。 | 
| NTE\_BUFFER\_TOO\_SMALL | `cbOutput` 参数对于返回值来说太小。 | 