IOCTL_HAL_GET_DEVICE_INFO (Windows Embedded CE 6.0)

1/5/2010

This IOCTL provides information about the system-parameters information (SPI) codes supported by the SystemParametersInfo function. A request to retrieve the SPI codes is made by calling the OEMIoControl function with IOCTL_HAL_GET_DEVICE_INFO.

Parameters

  • dwIoControlCode
    [in] Set to IOCTL_HAL_GET_DEVICE_INFO to obtain information about the SPI codes supported by SystemParametersInfo.
  • lpInBuf
    [in] Pointer to a DWORD containing one of the SPI_* codes shown in the following table.

    Value Description

    SPI_GETBOOTMENAME

    Returns the device BOOTME name (for example, "CEPC53902"). This is synonymous with using PlatformID in IOCTL_HAL_GET_DEVICEID.

    SPI_GETGUIDPATTERN

    Returns a platform-specific GUID pattern.

    SPI_GETOEMINFO

    Returns a string containing the model number and manufacturer name.

    SPI_GETPLATFORMMANUFACTURER

    Returns a human-readable, not-null text string for the platform manufacturer (OEM) name.

    The string must be at least one character in length.

    SPI_GETPLATFORMNAME

    Returns a human-readable, not-null text string for the platform (product) release name (for example, "CEPC").

    The string must be at least one character in length.

    Synonymous with using PresetID in IOCTL_HAL_GET_DEVICEID.

    SPI_GETPLATFORMTYPE

    This parameter is deprecated, beginning with Windows Embedded CE 6.0. Use SPI_GETPROJECTNAME instead.

    Returns a string specifying the type of Windows Embedded CE device.

    SPI_GETPLATFORMVERSION

    Assigns a version number to an OEM OS design when used in conjunction with the SPI_GETPLATFORMTYPE IOCTL.

    For more information, see Implementation of the SPI_GETPLATFORMVERSION IOCTL.

    Returns {{CE_MAJOR_VER, CE_MINOR_VER}}, regardless of platform.

    SPI_GETPROJECTNAME

    Returns a project-description string (for example, "CEBase").

    SPI_GETUUID

    Returns hardware-unique bytes for the platform. The expected return size is the size of a GUID: 16 bytes.

  • nInBufsize
    [in] Size, in bytes, of lpInBuf, which must be 4.
  • lpOutBuf
    [out] Pointer to the output buffer supplied by the caller.

    Your OEM adaptation layer (OAL) implementation should place the information requested by the parameters dwIoControlCode and lpInBuf into lpOutBuf, set lpBytesReturned to indicate the size of the data in lpOutbuf, and then return TRUE.

    If the size of the requested information exceeds the output-buffer size specified by nOutBufSize, specify the required size in lpBytesReturned.

    Then, call the SetLastError function with the flag ERROR_INSUFFICIENT_BUFFER and return the value FALSE. This enables the calling application to allocate sufficient buffer space before calling IOCTL_HAL_GET_DEVICE_INFO.

  • nOutBufSize
    [in] Specifies the maximum number of bytes that can be returned in lpOutBuf.

    The caller sets this value.

  • lpBytesReturned
    [in] Number of bytes returned in lpOutBuf.

Return Values

TRUE indicates success. FALSE indicates failure.

Remarks

In Windows Embedded CE 6.0, IOCTL_HAL_GET_DEVICEID and IOCTL_HAL_GET_UUID are deprecated, and their functionality has been moved into IOCTL_HAL_GET_DEVICE_INFO.

For more information, see Device Information IOCTL Unification.

Requirements

Header pkfuncs.h
Windows Embedded CE Windows CE 3.0 and later

See Also

Reference

Device Information IOCTLs
OEMIoControl

Concepts

Device Information IOCTL Unification
Providing System Information

Other Resources

SetLastError
SystemParametersInfo