Función SHRegGetUSValueA (shlwapi.h)
Recupera un valor de una subclave del Registro en un subárbol específico del usuario (HKEY_CURRENT_USER o HKEY_LOCAL_MACHINE).
Sintaxis
LSTATUS SHRegGetUSValueA(
[in] LPCSTR pszSubKey,
[in, optional] LPCSTR pszValue,
[in, out, optional] DWORD *pdwType,
[out, optional] void *pvData,
[in, out, optional] DWORD *pcbData,
[in] BOOL fIgnoreHKCU,
[in, optional] void *pvDefaultData,
[in] DWORD dwDefaultDataSize
);
Parámetros
[in] pszSubKey
Tipo: LPCTSTR
Puntero a una cadena terminada en null con el nombre de la subclave relativa a HKEY_LOCAL_MACHINE y HKEY_CURRENT_USER. Por ejemplo: "Software\MyCompany\MyProduct".
[in, optional] pszValue
Tipo: LPCTSTR
Puntero a una cadena terminada en null con el nombre del valor. Este valor puede ser NULL.
[in, out, optional] pdwType
Tipo: DWORD*
Puntero a un DWORD que recibe el tipo de datos almacenados en el valor recuperado. Cuando se usan valores predeterminados, la entrada pdwType es el tipo del valor predeterminado. Para conocer los valores posibles, consulte Tipos de datos del Registro. Si no se requiere información de tipo, este parámetro puede ser NULL.
[out, optional] pvData
Tipo: void*
Puntero a un búfer que recibe los datos del valor.
[in, out, optional] pcbData
Tipo: DWORD*
Puntero a una variable que especifica el tamaño, en bytes, del búfer al que apunta pvData. Cuando se devuelve SHRegGetUSValue , pcbData contiene el tamaño de los datos copiados en pvData.
[in] fIgnoreHKCU
Tipo: BOOL
Variable que especifica la clave que se va a buscar. Cuando se establece en TRUE, SHRegGetUSValue omite HKEY_CURRENT_USER y devuelve el valor de la clave en HKEY_LOCAL_MACHINE.
[in, optional] pvDefaultData
Tipo: void*
Puntero a un búfer que recibe los datos predeterminados del valor.
[in] dwDefaultDataSize
Tipo: DWORD
Longitud, en bytes, del búfer al que apunta pvDefaultData.
Valor devuelto
Tipo: LSTATUS
Devuelve ERROR_SUCCESS si se ejecuta correctamente o si un código de error distinto de cero definido en Winerror.h de lo contrario. Puede usar la función FormatMessage con la marca FORMAT_MESSAGE_FROM_SYSTEM para recuperar una descripción genérica del error.
Comentarios
Cuando fIgnoreHKCU se establece en TRUE, SHRegGetUSValue devuelve el valor de la clave en HKEY_LOCAL_MACHINE. Cuando se establece en FALSE, SHRegGetUSValue primero intenta devolver el valor de la clave en HKEY_CURRENT_USER. Sin embargo, si la clave no se encuentra en HKEY_CURRENT_USER, el valor se devuelve de la clave en HKEY_LOCAL_MACHINE. Si ninguna clave está presente o si se produjo un error y dwDefaultDataSize no es cero, los datos predeterminados se copian en pvData y ERROR_SUCCESS devuelve. ERROR_SUCCESS devuelve datos predeterminados y no predeterminados, y no hay ninguna manera de distinguir qué valor copia en pvData. Para evitar el uso de datos predeterminados, establezca pvDefaultData en NULL y dwDefaultDataSize en cero.
Esta función abre la clave cada vez que se usa. Si el código implica obtener una serie de valores de la misma clave, es más eficaz abrir la clave una vez con SHRegOpenUSKey y, a continuación, usar SHRegQueryUSValue para recuperar los datos.
Nota
El encabezado shlwapi.h define SHRegGetUSValue como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 2000 Professional, Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | shlwapi.h |
Library | Shlwapi.lib |
Archivo DLL | Shlwapi.dll (versión 4.71 o posterior) |