Función CryptEnumKeyIdentifierProperties (wincrypt.h)

Importante Esta API está en desuso. El software nuevo y existente debe empezar a usar las API cryptography Next Generation. Microsoft puede quitar esta API en futuras versiones.
 
La función CryptEnumKeyIdentifierProperties enumera los identificadores de clave y sus propiedades. Esta función no se llama en un bucle . En su lugar, recorre internamente hasta que se enumera la última propiedad de identificador de clave o la función de devolución de llamada devuelve FALSE. Si dwPropId es cero o si las propiedades del identificador de clave coinciden con dwPropId, se llama a la función de devolución de llamada.

Sintaxis

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

Puntero a una estructura CRYPT_HASH_BLOB que contiene el identificador de clave.

Si pKeyIdentifier es NULL, la función enumera todos los identificadores de clave.

Si pKeyIdentifier no es NULL, solo se llama a la función de devolución de llamada pfnEnum para el identificador de clave especificado.

[in] dwPropId

Indica el identificador de propiedad que se va a enumerar.

Si dwPropId se establece en cero, esta función llama a la función de devolución de llamada con todas las propiedades.

Si dwPropId no es cero y pKeyIdentifier es NULL, solo se llama a la función de devolución de llamada para los identificadores de clave que tienen la propiedad especificada (establece el parámetro cProp de pfnEnum en uno). Se omiten todos los identificadores de clave que no tienen la propiedad .

Se puede usar cualquier identificador de propiedad de certificado.

[in] dwFlags

De forma predeterminada, se busca en la lista de identificadores de clave de CurrentUser. Si se establece CRYPT_KEYID_MACHINE_FLAG, se busca la lista de identificadores de clave de LocalMachine (si pwszComputerName es NULL) o de un equipo remoto (si pwszComputerName no es NULL). Para obtener más información, vea pwszComputerName.

[in, optional] pwszComputerName

Puntero al nombre de un equipo remoto en el que se va a buscar. Si CRYPT_KEYID_MACHINE_FLAG se establece en dwFlags, se busca en el equipo remoto una lista de identificadores de clave. Si se va a buscar en el equipo local y no en un equipo remoto, pwszComputerName se establece en NULL.

[in] pvReserved

Reservado para uso futuro y debe ser NULL.

[in, optional] pvArg

Puntero a los datos que se van a pasar a la función de devolución de llamada. El tipo es un void que permite a la aplicación declarar, definir e inicializar una estructura o argumento para contener cualquier información.

[in] pfnEnum

Puntero a una función de devolución de llamada definida por la aplicación que se ejecuta para cada entrada de identificador de clave que coincida con los parámetros de entrada. Para más información sobre los parámetros de las funciones de devolución de llamada, consulte CRYPT_ENUM_KEYID_PROP.

Valor devuelto

La función CryptEnumKeyIdentifierProperties llama repetidamente a la función de devolución de llamada CRYPT_ENUM_KEYID_PROP hasta que se enumera el último identificador de clave o la función de devolución de llamada devuelve FALSE.

Si la función principal se realiza correctamente, la función devuelve un valor distinto de cero (TRUE).

Si se produce un error en la función, devuelve cero (FALSE). Para obtener información de error extendida, llame a GetLastError.

Para continuar con la enumeración, la función devuelve TRUE.

Para detener la enumeración, la función devuelve FALSE y establece el último código de error.

Comentarios

Un identificador de clave puede tener las mismas propiedades que un contexto de certificado.

Ejemplos

Para obtener un ejemplo que use esta función, vea Ejemplo de programa C: Trabajar con identificadores de clave.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado wincrypt.h
Library Crypt32.lib
Archivo DLL Crypt32.dll

Consulte también

Funciones de criptografía base

CryptGetKeyIdentifierProperty

CryptSetKeyIdentifierProperty