Função CryptEnumKeyIdentifierProperties (wincrypt.h)

Importante Essa API foi preterida. O software novo e existente deve começar a usar APIs de Criptografia de Próxima Geração. A Microsoft pode remover essa API em versões futuras.
 
A função CryptEnumKeyIdentifierProperties enumera identificadores de chave e suas propriedades. Essa função não é chamada em um loop. Em vez disso, ele faz loop interno até que a última propriedade do identificador de chave seja enumerada ou a função de retorno de chamada retorne FALSE. Se dwPropId for zero ou se as propriedades do identificador de chave corresponderem ao dwPropId, a função de retorno de chamada será chamada.

Sintaxe

BOOL CryptEnumKeyIdentifierProperties(
  [in, optional] const CRYPT_HASH_BLOB     *pKeyIdentifier,
  [in]           DWORD                     dwPropId,
  [in]           DWORD                     dwFlags,
  [in, optional] LPCWSTR                   pwszComputerName,
  [in]           void                      *pvReserved,
  [in, optional] void                      *pvArg,
  [in]           PFN_CRYPT_ENUM_KEYID_PROP pfnEnum
);

Parâmetros

[in, optional] pKeyIdentifier

Um ponteiro para uma estrutura CRYPT_HASH_BLOB que contém o identificador de chave.

Se pKeyIdentifier for NULL, a função enumera todos os identificadores de chave.

Se pKeyIdentifier não for NULL, a função de retorno de chamada pfnEnum só será chamada para o identificador de chave especificado.

[in] dwPropId

Indica o identificador de propriedade a ser listado.

Se dwPropId estiver definido como zero, essa função chamará a função de retorno de chamada com todas as propriedades.

Se dwPropId não for zero e pKeyIdentifier for NULL, a função de retorno de chamada será chamada somente para os identificadores de chave que têm a propriedade especificada (define o parâmetro cProp de pfnEnum como um). Todos os identificadores de chave que não têm a propriedade são ignorados.

Qualquer identificador de propriedade de certificado pode ser usado.

[in] dwFlags

Por padrão, a lista de identificadores de chave do CurrentUser é pesquisada. Se CRYPT_KEYID_MACHINE_FLAG estiver definida, a lista de principais identificadores do LocalMachine (se pwszComputerName for NULL) ou de um computador remoto (se pwszComputerName não for NULL) será pesquisada. Para obter mais informações, consulte pwszComputerName.

[in, optional] pwszComputerName

Um ponteiro para o nome de um computador remoto a ser pesquisado. Se CRYPT_KEYID_MACHINE_FLAG estiver definido em dwFlags, o computador remoto será pesquisado para obter uma lista de identificadores de chave. Se o computador local for pesquisado e não um computador remoto, pwszComputerName será definido como NULL.

[in] pvReserved

Reservado para uso futuro e deve ser NULL.

[in, optional] pvArg

Um ponteiro para os dados a serem passados para a função de retorno de chamada. O tipo é um void que permite que o aplicativo declare, defina e inicialize uma estrutura ou argumento para armazenar qualquer informação.

[in] pfnEnum

Um ponteiro para uma função de retorno de chamada definida pelo aplicativo executada para cada entrada de identificador de chave que corresponde aos parâmetros de entrada. Para obter detalhes sobre os parâmetros de funções de retorno de chamada, consulte CRYPT_ENUM_KEYID_PROP.

Retornar valor

A função CryptEnumKeyIdentifierProperties chama repetidamente a função de retorno de chamada CRYPT_ENUM_KEYID_PROP até que o último identificador de chave seja enumerado ou a função de retorno de chamada retorne FALSE.

Se a função main for bem-sucedida, a função retornará diferente de zero (TRUE).

Se a função falhar, ela retornará zero (FALSE). Para obter informações de erro estendidas, chame GetLastError.

Para continuar a enumeração, a função retorna TRUE.

Para interromper a enumeração, a função retorna FALSE e define o último código de erro.

Comentários

Um identificador de chave pode ter as mesmas propriedades que um contexto de certificado.

Exemplos

Para obter um exemplo que usa essa função, consulte Exemplo de programa C: trabalhando com identificadores de chave.

Requisitos

Requisito Valor
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 Crypt32.lib
DLL Crypt32.dll

Confira também

Funções base de criptografia

CryptGetKeyIdentifierProperty

CryptSetKeyIdentifierProperty