

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# NCryptEnumKeys com o provedor de armazenamento de chaves (KSP)
<a name="ksp-library-apis-enum-keys"></a>

NCryptEnumKeys função lista as chaves armazenadas no Provedor de Armazenamento de Chaves (KSP).

## Parâmetros
<a name="ksp-library-apis-enum-keys-parameters"></a>

 `hProvider` [in]   
O identificador do provedor de armazenamento de chaves. Use [`NCryptOpenStorageProvider`](ksp-library-apis-open-provider.md) para obter esse identificador. 

 `pszScope` [in, unused]   
 Defina este parâmetro como NULL.

 `ppKeyName` [out]   
Um endereço de ponteiro para uma estrutura `NCryptKeyName` que armazena o nome da chave. Para liberar essa memória após o uso, chame `NCryptFreeBuffer`. 

`ppEnumState` [in, out]  
Um endereço de ponteiro VOID que rastreia o progresso da enumeração. O provedor de armazenamento de chaves usa essas informações internamente para gerenciar a sequência de enumeração. Para iniciar uma nova enumeração desde o início, defina esse ponteiro como NULL.  
Para liberar essa memória após concluir a enumeração, passe esse ponteiro para `NCryptFreeBuffer`.

`dwFlags` [in]  
Sinalizadores para modificar o comportamento da função. A função não tem sinalizadores.

## Valor de retorno
<a name="ksp-library-apis-enum-keys-return-value"></a>

A função retorna um código de status para indicar êxito ou falha.

Os códigos de retorno comuns incluem:


****  

| Código de retorno | Description | 
| --- | --- | 
| ERROR\_SUCCESS | A operação foi concluída com êxito. | 
| NTE\_INVALID\_PARAMETER | Um ou mais parâmetros não são válidos. | 
| NTE\_FAIL | A operação não foi concluída. | 
| NTE\_INVALID\_HANDLE | O identificador em `hProvider` não é válido. | 
| NTE\_NO\_MORE\_ITEMS | A enumeração listou todas as chaves disponíveis. | 