Providing System Information (Windows CE 5.0)
You can implement OEMIoControl to support IOCTL_HAL_GET_DEVICE_INFO, which provides support for SystemParametersInfo, which queries or sets system-wide parameters and updates the user profile.
When Windows CE calls OEMIoControl with IOCTL_HAL_GET_DEVICE_INFO in the dwIoControlCode parameter, the OS sets the nInBufSize parameter to 4 bytes and passes a system parameters information (SPI) code in the lpInputBuf parameter. In order to support the SPI code, OEMIoControl must support the following SPI flags:
Flag | Description |
---|---|
SPI_GETPLATFORMTYPE | Requests a string that identifies the type of Windows CE–based device. Do not localize this string. |
SPI_GETOEMINFO | Requests OEM-specific information. The information string can include, but is not limited to, the model name, model number, and manufacturer. |
SPI_GETPLATFORMVERSION | Assigns a version number to a Windows CE-based device when used with SPI_GETPLATFORMTYPE. |
Although Windows CE does not restrict the lengths of the returned strings, long strings may be unsuitable for display on some target devices or for communicating between applications.
Also, be sure to use SPI_GETPLATFORMTYPE names that are unique across Windows CE products. Some host-side applications rely on this name for configuration. Using unique names prevents target device type conflicts and ensures successful integration with other Microsoft products.
For a code sample showing how to handle SPI_GETPLATFORMTYPE and SPI_GETOEMINFO requests, see %_WINCEROOT%\Platform\Common\Src\Common\IOCTL\Deviceinfo.c.
See Also
How to Develop an OEM Adaptation Layer | Implementing the OEMIoControl Function
Send Feedback on this topic to the authors