Función CryptGetOIDFunctionAddress (wincrypt.h)

La función CryptGetOIDFunctionAddress busca en la lista de funciones registradas e instaladas una coincidencia de tipo de codificación e identificador de objeto (OID). Si se encuentra una coincidencia, el archivo DLL que contiene la función es, si es necesario, cargado. Si se encuentra una coincidencia, también se devuelve un puntero a la dirección de la función y un puntero al identificador de función. Se incrementa el recuento de referencias en el identificador de función.

Sintaxis

BOOL CryptGetOIDFunctionAddress(
  [in]  HCRYPTOIDFUNCSET  hFuncSet,
  [in]  DWORD             dwEncodingType,
  [in]  LPCSTR            pszOID,
  [in]  DWORD             dwFlags,
  [out] void              **ppvFuncAddr,
  [out] HCRYPTOIDFUNCADDR *phFuncAddr
);

Parámetros

[in] hFuncSet

El identificador del conjunto de funciones obtenido previamente de una llamada a la función CryptInitOIDFunctionSet .

[in] dwEncodingType

Especifica el tipo de codificación que se va a coincidir. Actualmente, solo se usan X509_ASN_ENCODING y PKCS_7_ASN_ENCODING; sin embargo, se pueden agregar tipos de codificación adicionales en el futuro. Para hacer coincidir ambos tipos de codificación actuales, use:

X509_ASN_ENCODING | PKCS_7_ASN_ENCODING

Para las funciones que no usan un tipo de codificación, establezca este parámetro en cero.

[in] pszOID

Si la palabra de orden superior del OID es distinto de cero, pszOID es un puntero a una cadena OID como "2.5.29.1" o una cadena ASCII como "file". Si la palabra de orden superior del OID es cero, la palabra de orden bajo especifica el identificador numérico que se va a usar como identificador de objeto. Este OID resultante se asigna a la función que se instaló o registró con el mismo OID.

[in] dwFlags

Este parámetro puede ser el siguiente valor.

Valor Significado
CRYPT_GET_INSTALLED_OID_FUNC_FLAG
Busca solo la lista instalada de funciones.

[out] ppvFuncAddr

Puntero a un puntero a una dirección de función. Si se encuentra una coincidencia, ppvFuncAddr apunta a la dirección de la función.

[out] phFuncAddr

Si se encuentra una coincidencia, phFuncAddr apunta al identificador de función. Se incrementa el recuento de referencias del identificador. Cuando haya terminado de usar el identificador, libere el identificador llamando a la función CryptFreeOIDFunctionAddress .

Nota De forma predeterminada, se buscan las listas de funciones registradas e instaladas. Para buscar solo la lista instalada de funciones, establezca CRYPT_GET_INSTALLED_OID_FUNC_FLAG. Esta marca se establecería mediante una función registrada para obtener la dirección de una función preinstalada que estaba reemplazando. Por ejemplo, la función registrada podría controlar un nuevo caso especial y llamar a la función preinstalada para controlar los casos restantes.
 

Valor devuelto

Si la función se realiza correctamente y se encuentra una coincidencia, la función devuelve un valor distinto de cero (TRUE).

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

Comentarios

Puede llamar a CryptGetOIDFunctionAddress con el argumento pszOID establecido en CMSG_DEFAULT_INSTALLABLE_FUNC_OID para obtener la función instalable predeterminada para las siguientes funciones de devolución de llamada.

Para recuperar las funciones predeterminadas, establezca dwEncodingType en una combinación OR bit a bit de los siguientes tipos de codificación.

CRYPT_ASN_ENCODING X509_ASN_ENCODING

Requisitos

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

Consulte también

Funciones de compatibilidad con OID