GetProfileSectionA-Funktion (winbase.h)
Ruft alle Schlüssel und Werte für den angegebenen Abschnitt der Win.ini Datei ab.
Syntax
DWORD GetProfileSectionA(
[in] LPCSTR lpAppName,
[out] LPSTR lpReturnedString,
[in] DWORD nSize
);
Parameter
[in] lpAppName
Der Name des Abschnitts in der datei Win.ini.
[out] lpReturnedString
Ein Zeiger auf einen Puffer, der die Schlüssel und Werte empfängt, die dem benannten Abschnitt zugeordnet sind. Der Puffer wird mit einer oder mehreren mit Null beendeten Zeichenfolgen gefüllt. auf die letzte Zeichenfolge folgt ein zweites NULL-Zeichen.
[in] nSize
Die Größe des Puffers, auf den der lpReturnedString Parameter in Zeichen verweist.
Die maximale Profilabschnittsgröße beträgt 32.767 Zeichen.
Rückgabewert
Der Rückgabewert gibt die Anzahl der Zeichen an, die in den angegebenen Puffer kopiert wurden, nicht einschließlich des endenden Nullzeichens. Wenn der Puffer nicht groß genug ist, um alle Schlüssel und Werte zu enthalten, die dem benannten Abschnitt zugeordnet sind, entspricht der Rückgabewert der durch nSize minus zwei angegebenen Größe.
Bemerkungen
Das Format der zurückgegebenen Schlüssel und Werte ist eine oder mehrere mit Null beendete Zeichenfolgen, gefolgt von einem endgültigen Nullzeichen. Jede Zeichenfolge weist die folgende Form auf: Schlüssel=Zeichenfolge
Bei der GetProfileSection--Funktion wird die Groß-/Kleinschreibung nicht beachtet. Die Zeichenfolgen können eine Kombination aus Groß- und Kleinbuchstaben sein.
Dieser Vorgang ist atomar; Es sind keine Aktualisierungen der Win.ini Datei zulässig, während die Schlüssel und Werte für den Abschnitt in den Puffer kopiert werden.
Windows Server 2003 und Windows XP/2000: Aufrufe an Profilfunktionen können der Registrierung anstelle der Initialisierungsdateien zugeordnet werden. Diese Zuordnung tritt auf, wenn die Initialisierungsdatei und der Abschnitt in der Registrierung unter dem folgenden Schlüssel angegeben werden: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\IniFileMapping.
Wenn der Vorgang zugeordnet wurde, ruft die GetProfileSection-Funktion Informationen aus der Registrierung ab, nicht aus der Initialisierungsdatei; die Änderung am Speicherort hat keine Auswirkungen auf das Verhalten der Funktion.
Die Profilfunktionen verwenden die folgenden Schritte, um Initialisierungsinformationen zu finden:
- Suchen Sie in der Registrierung nach dem Namen der Initialisierungsdatei unter dem schlüssel IniFileMapping.
- Suchen Sie nach dem durch lpAppNameangegebenen Abschnittsnamen. Dies ist ein benannter Wert unter dem Schlüssel, der den Namen der Initialisierungsdatei oder einen Unterschlüssel mit diesem Namen enthält, oder der Name ist nicht als Wert oder Unterschlüssel vorhanden.
- Wenn der durch lpAppName angegebene Abschnittsname ein benannter Wert ist, gibt dieser Wert an, wo in der Registrierung die Schlüssel für den Abschnitt gefunden werden.
- Wenn der durch lpAppName angegebene Abschnittsname ein Unterschlüssel ist, geben benannte Werte unter diesem Unterschlüssel an, wo in der Registrierung die Schlüssel für den Abschnitt gefunden werden. Wenn der gesuchte Schlüssel nicht als benannter Wert vorhanden ist, gibt es einen unbenannten Wert (wie <No Name>), der den Standardspeicherort in der Registrierung angibt, an dem Sie den Schlüssel finden.
- Wenn der durch lpAppName angegebene Abschnittsname nicht als benannter Wert oder als Unterschlüssel vorhanden ist, gibt es einen unbenannten Wert (wie <No Name>), der den Standardspeicherort in der Registrierung angibt, an dem Sie die Schlüssel für den Abschnitt finden.
- Wenn kein Unterschlüssel oder Eintrag für den Abschnittsnamen vorhanden ist, suchen Sie nach der tatsächlichen Initialisierungsdatei auf dem Datenträger, und lesen Sie deren Inhalt.
- ! - Dieses Zeichen zwingt alle Schreibvorgänge, sowohl zur Registrierung als auch zur .ini Datei auf dem Datenträger zu 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 in der Registrierung nicht 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\SOFTWAREund der Text nach dem Präfix relativ zu diesem Schlüssel.
Anmerkung
Der winbase.h-Header definiert GetProfileSection als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows 2000 Professional [nur Desktop-Apps] |
mindestens unterstützte Server- | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform- | Fenster |
Header- | winbase.h (enthalten Windows.h) |
Library | Kernel32.lib |
DLL- | Kernel32.dll |