The Profile API calls go to the Windows server to look for an actual .INI file, and read and write its contents, only if no mapping for either the application name or filename is found. If there is a mapping for the filename but not the application name, and there is a (NULL) application name, the value of the (NULL) variable will be used as the location in the Registry of the variable, after appending the application name to it.
In the string that points to a Registry node, there are several prefixes that change the behavior of the .INI file mapping:
! - This character forces all writes to go both to the Registry and
to the .INI file on disk.
# - This character causes the Registry value to be set to the value
in the Windows 3.1 .INI file when a new user logs in for the
first time after setup.
@ - This character prevents any reads from going to the .INI file
on disk if the requested data is not found in the Registry.
USR: - This prefix stands for HKEY_CURRENT_USER, and the text after
the prefix is relative to that key.
SYS: - This prefix stands for HKEY_LOCAL_MACHINE\Software, and the
text after the prefix is relative to that key.