Função CryptGetHashParam (wincrypt.h)
Sintaxe
BOOL CryptGetHashParam(
[in] HCRYPTHASH hHash,
[in] DWORD dwParam,
[out] BYTE *pbData,
[in, out] DWORD *pdwDataLen,
[in] DWORD dwFlags
);
Parâmetros
[in] hHash
Identificador do objeto hash a ser consultado.
[in] dwParam
Tipo de consulta. Esse parâmetro pode ser definido como uma das consultas a seguir.
Valor | Significado |
---|---|
|
Um ALG_ID que indica o algoritmo especificado quando o objeto hash foi criado. Para obter uma lista de algoritmos de hash, consulte CryptCreateHash. |
|
Valor DWORD que indica o número de bytes no valor de hash. Esse valor variará dependendo do algoritmo de hash. Os aplicativos devem recuperar esse valor pouco antes do valor HP_HASHVAL para que a quantidade correta de memória possa ser alocada. |
|
O valor de hash ou hash de mensagem para o objeto hash especificado por hHash. Esse valor é gerado com base nos dados fornecidos ao objeto hash anteriormente por meio das funções CryptHashData e CryptHashSessionKey .
A função CryptGetHashParam conclui o hash. Depois que CryptGetHashParam tiver sido chamado, não será possível adicionar mais dados ao hash. As chamadas adicionais para CryptHashData ou CryptHashSessionKey falham. Depois que o aplicativo for concluído com o hash, CryptDestroyHash deverá ser chamado para destruir o objeto hash. |
[out] pbData
Um ponteiro para um buffer que recebe os dados de valor especificados. A forma desses dados varia, dependendo do número do valor.
Esse parâmetro pode ser NULL para determinar o tamanho da memória necessário.
[in, out] pdwDataLen
Um ponteiro para um valor DWORD que especifica o tamanho, em bytes, do buffer pbData . Quando a função retorna, o valor DWORD contém o número de bytes armazenados no buffer.
Se pbData for NULL, defina o valor de pdwDataLen como zero.
[in] dwFlags
Reservado para uso futuro e deve ser zero.
Valor retornado
Se a função for bem-sucedida, o valor retornado será TRUE.
Se a função falhar, o valor retornado será FALSE. Para obter informações de erro estendidas, chame GetLastError.
Os códigos de erro precedidos por "NTE" são gerados pelo CSP específico que você está usando. Alguns códigos de erro possíveis seguem.
Código de retorno | Descrição |
---|---|
|
Um dos parâmetros especifica um identificador que não é válido. |
|
Um dos parâmetros contém um valor que não é válido. Geralmente, esse é um ponteiro que não é válido. |
|
Se o buffer especificado pelo parâmetro pbData não for grande o suficiente para manter os dados retornados, a função definirá o código ERROR_MORE_DATA e armazenará o tamanho do buffer necessário, em bytes, na variável apontada por pdwDataLen. |
|
O parâmetro dwFlags é diferente de zero. |
|
O objeto hash especificado pelo parâmetro hHash não é válido. |
|
O parâmetro dwParam especifica um número de valor desconhecido. |
|
O contexto CSP especificado quando o hash foi criado não pode ser encontrado. |
Requisitos
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | wincrypt.h |
Biblioteca | Advapi32.lib |
DLL | Advapi32.dll |