Función CryptGetOIDFunctionValue (wincrypt.h)

La función CryptGetOIDFunctionValue consulta un valor asociado a un OID. La consulta se realiza para un valor con nombre específico asociado a un tipo OID, nombre de función y codificación. La función puede devolver el tipo de valor consultado, el propio valor, o ambos.

Sintaxis

BOOL CryptGetOIDFunctionValue(
  [in]      DWORD   dwEncodingType,
  [in]      LPCSTR  pszFuncName,
  [in]      LPCSTR  pszOID,
  [in]      LPCWSTR pwszValueName,
  [out]     DWORD   *pdwValueType,
  [out]     BYTE    *pbValueData,
  [in, out] DWORD   *pcbValueData
);

Parámetros

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

[in] pszFuncName

Puntero a la cadena terminada en null que contiene el nombre del conjunto de funciones OID.

[in] pszOID

Si la palabra de orden alto del OID no es cero, pszOID es un puntero a una cadena de OID terminada en null, como "2.5.29.1" o una cadena ASCII terminada en null, 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.

[in] pwszValueName

Puntero a una cadena Unicode terminada en null que contiene el nombre del valor que se va a consultar.

[out] pdwValueType

Puntero a una variable para recibir el tipo del valor. El tipo devuelto a través de este parámetro será uno de los siguientes.

Valor Significado
REG_DWORD
Número de 32 bits.
REG_EXPAND_SZ
Cadena Unicode que contiene referencias no expandidas a variables de entorno como "%PATH%". Las aplicaciones deben asegurarse de que la cadena tiene un carácter nulo de terminación antes de usarlo. Para obtener más información sobre cuándo la cadena no tiene un carácter nulo de terminación, vea RegQueryValueEx.
REG_MULTI_SZ
Matriz de cadenas Unicode terminadas en null. Las aplicaciones deben asegurarse de que la matriz finaliza correctamente con dos caracteres NULL antes de usarla. Para obtener más información sobre cuándo la matriz no finaliza con dos caracteres NULL, vea RegQueryValueEx.
REG_SZ
Cadena Unicode. Las aplicaciones deben asegurarse de que la cadena tiene un carácter nulo de terminación antes de usarlo. Para obtener más información sobre cuándo la cadena no tiene un carácter nulo de terminación, vea RegQueryValueEx.
 

El parámetro pdwValueType puede ser NULL si no se requiere un tipo devuelto.

[out] pbValueData

Puntero a un búfer para recibir el valor asociado al parámetro pwszValueName . El búfer debe ser lo suficientemente grande como para contener el carácter NULL de terminación. Este parámetro puede ser NULL si no se requieren datos devueltos.

Este parámetro también puede ser NULL para buscar el tamaño del búfer con fines de asignación de memoria. Para obtener más información, vea Recuperar datos de longitud desconocida.

[in, out] pcbValueData

Puntero a un DWORD que especifica el tamaño, en bytes, del búfer al que apunta pbValueData.

En la mayoría de los casos, el valor devuelto en *pcbValueData incluye el tamaño del carácter NULL de terminación en la cadena. Para obtener información sobre situaciones en las que no se incluye el carácter NULL , vea la sección Comentarios de RegQueryValueEx.

Nota Al procesar los datos devueltos en el búfer, las aplicaciones deben usar el tamaño real de los datos devueltos. El tamaño real puede ser ligeramente menor que el tamaño del búfer especificado en la entrada. (En la entrada, los tamaños del búfer suelen especificarse lo suficientemente grandes como para asegurarse de que los datos de salida más grandes caben en el búfer). En la salida, la variable a la que apunta este parámetro se actualiza para reflejar el tamaño real de los datos copiados en el búfer.
 

Valor devuelto

Si la función se ejecuta 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.

Esta función tiene el siguiente código de error.

Valor Descripción
ERROR_MORE_DATA
Si el búfer especificado por el parámetro pbValueData no es lo suficientemente grande como para contener los datos devueltos, la función establece el código de ERROR_MORE_DATA y almacena el tamaño de búfer necesario, en bytes, en la variable a la que apunta pcbValueData.

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