IOCTL_HAL_INITREGISTRY (Compact 2013)

10/16/2014

This I/O control message is used by Filesys.exe to signal that the registry is active and that data from the OAL can now be propagated to the registry. It is called before other applications are started, so the OAL can modify registry settings used by all applications. Send this message with OEMIoControl.

Syntax

BOOL OEMIoControl(
    DWORD dwIoControlCode,    // use IOCTL_HAL_INITREGISTRY
    LPVOID lpInBuffer,        // pointer to input buffer
    DWORD nInBufferSize,      // input buffer size
    LPVOID lpOutBuffer,       // pointer to output buffer
    DWORD nOutBufferSize,     // output buffer size
    LPDWORD lpBytesReturned   // number of bytes returned
);

Parameters

  • dwIoControlCode
    [in] Control code for the operation. Use IOCTL_HAL_INITREGISTRY for this operation.
  • lpInBuffer
    [in] Set to NULL.
  • nInBufferSize
    [in] Set to zero.
  • lpOutBuffer
    [in] Set to NULL.
  • nOutBufferSize
    [in] Set to zero.
  • lpBytesReturned
    [in] Set to zero.

Return Values

Returns TRUE if successful; otherwise, returns FALSE.

Remarks

To get extended error information, call GetLastError. GetLastError may return other standard error messages as appropriate.

When this IOCTL is called from Filesys.exe the registry is fully enabled and ready to accept data from the OAL. The following APIs are OAL-only functions corresponding to the standard Windows-based desktop platforms registry APIs. Registry APIs that are not on this list do not have equivalents that are usable in the OAL.

  • NKRegCreateKeyEx
  • NKRegOpenKeyEx
  • NKRegQueryValueEx
  • NKRegCloseKey
  • NKRegSetValueEx

The registry is updated before starting an application that is registered in the HKEY_LOCAL_MACHINE\Init registry key.

Requirements

Header

pkfuncs.h

See Also

Reference

Filesys.exe IOCTLs
OEMIoControl