Share via


GetPrivateProfileStruct-Funktion (winbase.h)

Ruft die Einem Schlüssel zugeordneten Daten im angegebenen Abschnitt einer Initialisierungsdatei ab. Beim Abrufen der Daten berechnet die Funktion eine Prüfsumme und vergleicht sie mit der Prüfsumme, die von der WritePrivateProfileStruct-Funktion berechnet wurde, als die Daten der Datei hinzugefügt wurden.

Hinweis Diese Funktion wird nur zur Kompatibilität mit 16-Bit-Windows-basierten Anwendungen bereitgestellt. Anwendungen sollten Initialisierungsinformationen in der Registrierung speichern.
 

Syntax

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

Parameter

[in] lpszSection

Der Name des Abschnitts in der Initialisierungsdatei.

[in] lpszKey

Der Name des Schlüssels, dessen Daten abgerufen werden sollen.

[out] lpStruct

Ein Zeiger auf den Puffer, der die Daten empfängt, die den Datei-, Abschnitts- und Schlüsselnamen zugeordnet sind.

[in] uSizeStruct

Die Größe des Puffers, auf den der lpStruct-Parameter in Bytes verweist.

[in] szFile

Der Name der Initialisierungsdatei. Wenn dieser Parameter keinen vollständigen Pfad zur Datei enthält, sucht das System im Windows-Verzeichnis nach der Datei.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.

Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null.

Hinweise

Ein Abschnitt in der Initialisierungsdatei muss die folgende Form aufweisen:

[section]
key=data
      .
      .
      .

Das System ordnet die meisten .ini Dateiverweise der Registrierung zu, wobei die unter dem folgenden Registrierungsschlüssel definierte Zuordnung verwendet wird: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping

Diese Zuordnung ist wahrscheinlich, wenn eine Anwendung Systemkomponenteninitialisierungsdateien wie Control.ini, System.ini und Winfile.ini ändert. In diesen Fällen ruft die Funktion Informationen aus der Registrierung ab, nicht aus der Initialisierungsdatei. die Änderung des Speicherorts hat keine Auswirkungen auf das Verhalten der Funktion.

Die Profilfunktionen verwenden die folgenden Schritte, um Initialisierungsinformationen zu suchen:

  1. Suchen Sie in der Registrierung unter IniFileMapping nach dem Namen der Initialisierungsdatei, z. B. MyFile.ini.
  2. Suchen Sie nach dem abschnittsnamen, der von lpAppName angegeben wurde. Dies ist ein benannter Wert unter myfile.inioder ein Unterschlüssel von myfile.ini, oder es ist nicht vorhanden.
  3. Wenn der von lpAppName angegebene Abschnittsname ein benannter Wert unter myfile.iniist, gibt dieser Wert an, wo sie in der Registrierung die Schlüssel für den Abschnitt finden.
  4. Wenn der von lpAppName angegebene Abschnittsname ein Unterschlüssel von myfile.iniist, geben benannte Werte unter diesem Unterschlüssel an, wo sie in der Registrierung die Schlüssel für den Abschnitt finden. Wenn der gesuchte Schlüssel nicht als benannter Wert vorhanden ist, gibt es einen unbenannten Wert (angezeigt als <No Name>), der den Standardspeicherort in der Registrierung angibt, an dem Sie den Schlüssel finden werden.
  5. Wenn der von lpAppName angegebene Abschnittsname nicht als benannter Wert oder als Unterschlüssel unter myfile.inivorhanden ist, gibt es unter myfile.ini einen unbenannten Wert (angezeigt als <No Name>), der den Standardspeicherort in der Registrierung angibt, an dem Sie die Schlüssel für den Abschnitt finden.
  6. Wenn kein myfile.ini Unterschlüssel vorhanden ist oder wenn er keinen Eintrag für den Abschnittsnamen enthält, suchen Sie nach dem tatsächlichen MyFile.ini auf dem Datenträger, und lesen Sie dessen Inhalt.
Beim Betrachten von Werten in der Registrierung, die andere Registrierungsspeicherorte angeben, gibt es mehrere Präfixe, die das Verhalten der .ini Dateizuordnung ändern:
  • ! – Dieses Zeichen erzwingt, dass alle Schreibvorgänge sowohl in die Registrierung als auch in die .ini-Datei auf dem Datenträger wechseln.
  • # : Dieses Zeichen bewirkt, dass der Registrierungswert auf den Wert in der Windows 3.1-.ini-Datei festgelegt wird, wenn sich ein neuer Benutzer nach dem Setup zum ersten Mal anmeldet.
  • @ : Dieses Zeichen verhindert, dass Lesevorgänge zur .ini-Datei auf dem Datenträger wechseln, wenn die angeforderten Daten nicht in der Registrierung gefunden werden.
  • USR: Dieses Präfix steht für HKEY_CURRENT_USER, und der Text nach dem Präfix ist relativ zu diesem Schlüssel.
  • SYS: Dieses Präfix steht für HKEY_LOCAL_MACHINE\SOFTWARE, und der Text nach dem Präfix ist relativ zu diesem Schlüssel.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winbase.h (Windows.h einschließen)
Bibliothek Kernel32.lib
DLL Kernel32.dll

Siehe auch

WritePrivateProfileStruct