Función GetProfileSectionA (winbase.h)
Recupera todas las claves y valores de la sección especificada del archivo Win.ini.
Sintaxis
DWORD GetProfileSectionA(
[in] LPCSTR lpAppName,
[out] LPSTR lpReturnedString,
[in] DWORD nSize
);
Parámetros
[in] lpAppName
Nombre de la sección del archivo Win.ini.
[out] lpReturnedString
Puntero a un búfer que recibe las claves y los valores asociados a la sección con nombre. El búfer se rellena con una o varias cadenas terminadas en null; la última cadena va seguida de un segundo carácter NULL.
[in] nSize
Tamaño del búfer al que apunta el parámetro lpReturnedString , en caracteres.
El tamaño máximo de sección de perfil es de 32 767 caracteres.
Valor devuelto
El valor devuelto especifica el número de caracteres copiados en el búfer especificado, no incluido el carácter nulo de terminación. Si el búfer no es lo suficientemente grande como para contener todas las claves y valores asociados a la sección con nombre, el valor devuelto es igual al tamaño especificado por nSize menos dos.
Comentarios
El formato de las claves y valores devueltos es una o varias cadenas terminadas en null, seguidas de un carácter nulo final. Cada cadena tiene el siguiente formato: cadena de clave=
La función GetProfileSection no distingue mayúsculas de minúsculas; las cadenas pueden ser una combinación de letras mayúsculas y minúsculas.
Esta operación es atómica; no se permiten actualizaciones del archivo Win.ini mientras se copian las claves y los valores de la sección en el búfer.
Windows Server 2003 y Windows XP/2000: Las llamadas a funciones de perfil se pueden asignar al registro en lugar de a los archivos de inicialización. Esta asignación se produce cuando el archivo de inicialización y la sección se especifican en el Registro con la siguiente clave: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\IniFileMapping.
Cuando se ha asignado la operación, la función GetProfileSection recupera información del Registro, no del archivo de inicialización; el cambio en la ubicación de almacenamiento no tiene ningún efecto en el comportamiento de la función.
Las funciones de perfil usan los pasos siguientes para buscar información de inicialización:
- Busque en el Registro el nombre del archivo de inicialización en la clave IniFileMapping .
- Busque el nombre de sección especificado por lpAppName. Se trata de un valor con nombre bajo la clave que tiene el nombre del archivo de inicialización, o una subclave con este nombre, o bien el nombre no existirá como un valor o subclave.
- Si el nombre de sección especificado por lpAppName es un valor con nombre, ese valor especifica dónde en el registro encontrará las claves de la sección.
- Si el nombre de sección especificado por lpAppName es una subclave, los valores con nombre de esa subclave especifican dónde en el registro encontrará las claves de la sección. Si la clave que está buscando no existe como un valor con nombre, habrá un valor sin nombre (mostrado como <Sin nombre>) que especifique la ubicación predeterminada en el registro donde encontrará la clave.
- Si el nombre de sección especificado por lpAppName no existe como un valor con nombre o como una subclave, habrá un valor sin nombre (mostrado como <Sin nombre>) que especifique la ubicación predeterminada en el registro donde encontrará las claves de la sección.
- Si no hay ninguna subclave o entrada para el nombre de sección, busque el archivo de inicialización real en el disco y lea su contenido.
- ! : este carácter obliga a todas las escrituras a ir tanto al Registro como al archivo .ini en el disco.
- # : este carácter hace que el valor del Registro se establezca en el valor del archivo de .ini de Windows 3.1 cuando un nuevo usuario inicia sesión por primera vez después de la instalación.
- @ : este carácter impide que las lecturas vayan al archivo .ini en el disco si los datos solicitados no se encuentran en el registro.
- USR: : este prefijo significa HKEY_CURRENT_USER y el texto después del prefijo es relativo a esa clave.
- SYS: : este prefijo significa HKEY_LOCAL_MACHINE\SOFTWAREy el texto después del prefijo es relativo a esa clave.
Nota
El encabezado winbase.h define GetProfileSection 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 [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | winbase.h (incluya Windows.h) |
Library | Kernel32.lib |
Archivo DLL | Kernel32.dll |