

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á.

# NCryptSignHash com o provedor de armazenamento de chaves (KSP)
<a name="ksp-library-apis-sign-hash"></a>

A função `NCryptSignHash` cria uma assinatura de um valor de hash.

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

 `hKey` [in]   
 O identificador da chave a ser usada para assinar o hash. 

`pPaddingInfo` [in, optional]  
Um ponteiro para uma estrutura contendo informações de preenchimento. O tipo de estrutura depende do valor de `dwFlags`. Use esse parâmetro somente com chaves assimétricas; defina como NULL para outros tipos de chave.

`pbHashValue` [in]  
Um ponteiro para um buffer contendo o valor de hash a ser assinado. Especifique o tamanho do buffer usando `cbHashValue`.

`cbHashValue` [in]  
O tamanho em bytes do buffer atual de `pbHashValue`.

`pbSignature` [out]  
O endereço de um buffer para armazenar a assinatura. Especifique o tamanho do buffer usando `cbSignature`.  
Para determinar o tamanho do buffer necessário, defina esse parâmetro como NULL. A função armazena o tamanho necessário (em bytes) no local apontado por `pcbResult`.

`cbSignature` [in]  
O tamanho em bytes do buffer `pbSignature`. A função ignora esse parâmetro se `pbSignature` for NULL.

`pcbResult` [out]  
Um ponteiro para uma variável DWORD que armazena o número de bytes copiados para o buffer `pbSignature`.  
Se `pbSignature` for NULL, isso armazenará o tamanho necessário, em bytes. 

`dwFlags` [in]  
Sinalizadores para modificar o comportamento da função. Os sinalizadores permitidos dependem do seu tipo de chave. Use um destes valores:    
****    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/pt_br/cloudhsm/latest/userguide/ksp-library-apis-sign-hash.html)

## Valor de retorno
<a name="ksp-library-apis-sign-hash-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 `hKey` não é válido. | 
| NTE\_BAD\_FLAGS | O parâmetro `dwFlags` contém um valor inválido. | 
| NTE\_BUFFER\_TOO\_SMALL | O parâmetro `pcbOutput` é muito pequeno para valores de retorno. | 
| NTE\_BAD\_KEY\_STATE | O estado da chave não é válido. | 
| NTE\_INTERNAL\_ERROR | Ocorreu um erro interno ao assinar o hash. | 