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 |
---|---|
|
Número de 32 bits. |
|
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. |
|
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. |
|
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.
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 |
---|---|
|
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 |