OAL Initialization of RAM-based Registry

Other versions of this page are also available for the following:

Windows Mobile Not SupportedWindows Embedded CE Supported

8/28/2008

The following steps show the process that Filesys.dll uses to initialize the RAM-based registry when an OEM Adaptation Layer (OAL) is available:

  1. Filesys.dll calls OEMIoControl with IOCTL_HAL_GETREGSECUREKEYS twice. The first call is a query to obtain the required data buffer size. The second call is a query to obtain the buffer of secure key data. **
  2. If the boot process is a cold boot, Filesys.dll performs the following steps:
    1. Filesys.dll loads the registry data stored in the Default.fdf file from ROM.
    2. If pReadRegistryFromOEM is implemented in the OAL and registry data is available, Filesys.dll deletes the registry data that was restored from Default.fdf. Filesys.dll calls pReadRegistryFromOEM until all of the data is returned. If the data retrieval fails, Filesys.dll cleans the registry and restores Default.fdf.
  3. If a backup copy of the registry was restored during a previous start by calling RegRestoreFile, Filesys.dll deletes any existing registry data from Default.fdf or pReadRegistryFromOEM and restores the registry with the contents of the backup file. If the restoration fails, Filesys.dll cleans the registry and retries restoration from Default.fdf and pReadRegistryFromOEM.
  4. Filesys.dll calls OEMIoControl with the I/O control IOCTL_HAL_INITREGISTRY to enable the OAL to add data to the registry early in the startup process.
  5. After IOCTL_HAL_INITREGISTRY indicates that the system registry is ready to accept data from the OAL, you can use the following functions to add data to the system registry:

See Also

Concepts

RAM-Based Registry
File System Boot Process
Hive-based Registry Initialization