Share via


IOCTL_HAL_GET_HIVE_RAM_REGION (Windows Embedded CE 6.0)

1/5/2010

Important

This feature is deprecated and is not supported in Windows Embedded CE 6.0.

This IOCTL allows you to specify a region of RAM to hold the registry hive instead of using it as a memory-mapped file on a file system. It is implemented by the OEM in the OAL, and called by Filesys.exe.

Parameters

  • dwIoControlCode
    [in] Set to the IOCTL_HAL_GET_HIVE_RAM_REGION IOCTL.
  • lpInBuf
    [in] Ignored; set to NULL.
  • nInBufsize
    [in] Ignored; set to zero.
  • lpOutBuf
    [out] Pointer to a HiveRAMInfo structure filled by this IOCTL.
  • nOutBufSize
    [in] Size of a HiveRAMInfo structure, for example, sizeof(HiveRAMInfo).
  • lpBytesReturned
    [in] Address of a DWORD that receives the size, in bytes, of the data structure that contains the Hive RAM Information.

    This parameter is optional. If you do not need this value, set this parameter to NULL.

Return Values

TRUE indicates success. FALSE indicates failure.

Remarks

The registry calls the IOCTL_HAL_GET_HIVE_RAM_REGION IOCTL during the first boot phase to determine if a region of RAM is suitable to store the data. The registry data is stored in the specified region of RAM and persists as long as RAM persists. When registry data is stored in a RAM region, the user hive and system hive are stored together. There is no separate user hive, so there is no way to maintain separate copies of HKEY_CURRENT_USER for each user. Therefore, all users share the same registry.

User profile directories are created for each user, and are placed in the object store, as specified by the ProfileDir registry subkey. For more information, see User Profile Storage.

Requirements

Header pkfuncs.h
Windows Embedded CE Windows CE .NET 4.1 and later

See Also

Reference

Filesys.exe IOCTLs
IOCTL_HAL_SAVE_HIVE_RAM_REGION

Other Resources

Hive-Based Registry Stored in RAM
User Profile Storage
HiveRAMInfo
HiveRAMRegion