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 de
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 de
Puntero a una cadena terminada en null con el nombre del valor. Este valor puede ser null.
[in, out, optional] pdwType
Tipo: DWORD* de
Puntero a un DWORD que recibe el tipo de datos almacenados en el valor recuperado. Cuando se usan valores predeterminados, el pdwType de entrada 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* de
Puntero a una variable que especifica el tamaño, en bytes, del búfer al que apunta pvData. Cuando SHRegGetUSValue devuelve, pcbData contiene el tamaño de los datos copiados en pvData.
[in] fIgnoreHKCU
Tipo: BOOL de
Variable que especifica la clave en la 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 de
Longitud, en bytes, del búfer al que apunta pvDefaultData.
Valor devuelto
Tipo: LSTATUS de
Devuelve ERROR_SUCCESS si se ejecuta correctamente o 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.
Observaciones
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 no se encuentra la clave 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 es distinto de cero, los datos predeterminados se copian en pvData y ERROR_SUCCESS devuelven. ERROR_SUCCESS devuelve para los datos predeterminados y no predeterminados, y no hay forma 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 neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows 2000 Professional, Windows XP [solo aplicaciones de escritorio] |
servidor mínimo admitido | Windows 2000 Server [solo aplicaciones de escritorio] |
de la plataforma de destino de |
Windows |
encabezado de |
shlwapi.h |
biblioteca de |
Shlwapi.lib |
DLL de |
Shlwapi.dll (versión 4.71 o posterior) |