Compartir a través de


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)