

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# NCryptEnumKeys 與金鑰儲存提供者 (KSP)
<a name="ksp-library-apis-enum-keys"></a>

NCryptEnumKeys 函數會列出儲存在金鑰儲存提供者 (KSP) 中的金鑰。

## Parameters
<a name="ksp-library-apis-enum-keys-parameters"></a>

 `hProvider` 【in】   
金鑰儲存提供者控制代碼。使用 [`NCryptOpenStorageProvider`](ksp-library-apis-open-provider.md)取得此控制代碼。

 `pszScope` 【in、未使用】   
 將此參數設定為 NULL。

 `ppKeyName` 【輸出】   
儲存金鑰名稱之`NCryptKeyName`結構的指標地址。若要在使用後釋放此記憶體，請呼叫 `NCryptFreeBuffer`。

`ppEnumState` 【輸入、輸出】  
追蹤列舉進度的 VOID 指標地址。金鑰儲存提供者會在內部使用此資訊來管理列舉序列。若要從頭開始新的列舉，請將此指標設定為 NULL。  
若要在完成列舉後釋放此記憶體，請將此指標傳遞至 `NCryptFreeBuffer`。

`dwFlags` 【in】  
用於修改函數行為的旗標。此函數沒有旗標。

## 傳回值
<a name="ksp-library-apis-enum-keys-return-value"></a>

函數會傳回狀態碼，表示成功或失敗。

常見的傳回碼包括：


****  

| 傳回代碼 | Description | 
| --- | --- | 
|  ERROR\$1SUCCESS  |  操作已成功完成。  | 
|  NTE\$1INVALID\$1PARAMETER  |  一或多個參數無效。  | 
|  NTE\$1FAIL  |  操作無法完成。  | 
|  NTE\$1INVALID\$1HANDLE  |  中的控點`hProvider`無效。  | 
|  NTE\$1NO\$1MORE\$1ITEMS  |  列舉已列出所有可用的金鑰。  | 