Compartir a través de


Función GetPrivateProfileStruct (winbase.h)

Recupera los datos asociados a una clave de la sección especificada de un archivo de inicialización. A medida que recupera los datos, la función calcula una suma de comprobación y la compara con la suma de comprobación calculada por la función WritePrivateProfileStruct cuando se agregaron los datos al archivo.

Nota Esta función solo se proporciona por compatibilidad con aplicaciones basadas en Windows de 16 bits. Las aplicaciones deben almacenar información de inicialización en el Registro.
 

Sintaxis

BOOL GetPrivateProfileStruct(
  [in]  LPCTSTR lpszSection,
  [in]  LPCTSTR lpszKey,
  [out] LPVOID  lpStruct,
  [in]  UINT    uSizeStruct,
  [in]  LPCTSTR szFile
);

Parámetros

[in] lpszSection

Nombre de la sección del archivo de inicialización.

[in] lpszKey

Nombre de la clave cuyos datos se van a recuperar.

[out] lpStruct

Puntero al búfer que recibe los datos asociados al archivo, la sección y los nombres de clave.

[in] uSizeStruct

Tamaño del búfer al que apunta el parámetro lpStruct , en bytes.

[in] szFile

Nombre del archivo de inicialización. Si este parámetro no contiene una ruta de acceso completa al archivo, el sistema busca el archivo en el directorio de Windows.

Valor devuelto

Si la función se realiza correctamente, el valor devuelto es distinto de cero.

Si la función no se realiza correctamente, el valor devuelto es cero.

Comentarios

Una sección del archivo de inicialización debe tener el siguiente formato:

[section]
key=data
      .
      .
      .

El sistema asigna la mayoría de .ini referencias de archivo al registro, utilizando la asignación definida en la siguiente clave del Registro:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping

Esta asignación es probable que si una aplicación modifica los archivos de inicialización del componente del sistema, como Control.ini, System.ini y Winfile.ini. En estos casos, la función 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:

  1. Busque en el Registro el nombre del archivo de inicialización, por ejemplo, MyFile.ini, en IniFileMapping.
  2. Busque el nombre de sección especificado por lpAppName. Será un valor con nombre en myfile.ini, o una subclave de myfile.ini, o no existirá.
  3. Si el nombre de sección especificado por lpAppName es un valor con nombre en myfile.ini, ese valor especifica dónde en el Registro encontrará las claves de la sección.
  4. Si el nombre de sección especificado por lpAppName es una subclave de myfile.ini, los valores con nombre bajo esa subclave especifican dónde se encuentran las claves del registro para la sección. Si la clave que busca no existe como un valor con nombre, habrá un valor sin nombre (que se muestra como <Sin nombre>) que especifica la ubicación predeterminada en el Registro donde encontrará la clave.
  5. Si el nombre de sección especificado por lpAppName no existe como un valor con nombre o como una subclave en myfile.ini, habrá un valor sin nombre (que se muestra como <Sin nombre>) en myfile.ini que especifica la ubicación predeterminada en el Registro donde encontrará las claves de la sección.
  6. Si no hay ninguna subclavemyfile.ini o si no contiene una entrada para el nombre de la sección, busque el MyFile.ini real en el disco y lea su contenido.
Al examinar los valores del Registro que especifican otras ubicaciones del Registro, hay varios prefijos que cambian el comportamiento de la asignación de archivos .ini:
  • ! : este carácter obliga a todas las escrituras a ir al registro y 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 inicie 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.

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 (incluye Windows.h)
Library Kernel32.lib
Archivo DLL Kernel32.dll

Vea también

WritePrivateProfileStruct