# INI-File Mapping

Gültig für: Windows NT | Windows 2000 | Windows XP | Server 2003 | Windows Vista | Server 2008 | Windows 7 | Windows 8 | Windows 10

Ab Windows NT wird die Möglichkeit geboten, Einstellungen, die in INI-Files abgelegt werden, in die Registry vom Windows zu mappen.

Da diese Möglichkeit durch eine Windows-Funktion zur Verfügung gestellt wird, funktioniert das nicht nur für die INI-Dateien von Microsoft, sondern auch für INI-Dateien von anderen Anwendungen. Diese geht aber nur, wenn die Anwendungen nicht direkt auf Fileebene auf die INI-Dateien zugreifen, sondern die Windows Funktionen (z.B.: WriteProfileString) benutzen. Windows versucht bei solchen Zugriffen, die Informationen als erstes in der Registry zu finden, nur wenn die Einträge hier nicht gefunden werden, wird auf die physisch vorhandenen .INI-Dateien zurückgegriffen.

Die Mappings werden konfiguriert in der Registry unter:

HKEY_LOCAL_MACHINE\ Software\ Microsoft\ Windows NT\ CurrentVersion\ IniFileMapping

Hier wird für jede INI-Datei ein entsprechender Schlüssel mit dem Namen der INI-Datei angelegt. Unterhalb dieses Schlüssels wird für jeden Sektionsnamen ein Wert mit den Namen der Sektion als Datentyp REG_SZ angelegt. Als Wert wird der entsprechende Verweis in der Registry eingetragen, wo diese Einstellung ausgelesen werden soll.

Microsoft benutzt diesen Bereich auch, um einige INI-Einträge aus der SYSTEM.INI usw. hier abzubilden.

Beispiel:

INI-File Name: Test.INI

Sektion Name: Verzeichnis

In der Registry:

HKEY_LOCAL_MACHINE\ Software\ Microsoft\ Windows NT\ CurrentVersion\ IniFileMapping\ Test.ini

gibt es jetzt einen Wert mit den Namen "Verzeichnis" als Datentyp REG_SZ mit dem Inhalt "USR:TestFirma\Test". Die Abkürzung USR legt fest, ob der Wert unter den Maschinen oder Usereinstellungen abgespeichert werden soll. Die möglichen Werte sind:

SYS: | Der KEY wird unterhalb von HKEY_LOCAL_MACHINE\Software angelegt
USR: | Der KEY wird unterhalb von HKEY_CURRENT_USER\ angelegt
Mögliche zusätzliche Parameter: (werden vor SYS oder USR angegeben)
! | Daten werden in der Registry und in der INI-Datei eingetragen und jeweils abgeglichen
@ | Die Daten werden nicht mehr aus der INI-Datei gelesen, sondern nur noch aus der Registry
# | Wenn sich ein neuer Benutzer anmeldet, wird der Wert aus der INI-Datei in den angegebenen Registry-Key kopiert.

Beispiel: "#USR:TestFirma\Test"

Jetzt wird unterhalb von "HKEY_CURRENT_USER\ Software\ TestFirma\Test" ein Wert mit den Namen "Verzeichnis" angelegt, der dann den entsprechenden Wert aus der INI-Datei enthält (z.B.: C:\Programme\Test)

WinFAQ: Startseite | WinFAQ: HTMLMenü | WinFAQ: Java Version

Der Tipp enthält einen Fehler oder Sie haben noch eine Ergänzung dafür? Schreiben Sie uns über die Feedback-Seite an: Feedback-Formular

URL: http://www.winfaq.de/faq_html/Content/tip2000/tip2009.htm

WinFAQ ® Version 9.01 Copyright © 1996/2016 by Frank Ullrich