Intermec 700 User Manual

Page of 452
Programming
Chapter
7
250
700 Series Color Mobile Computer User’s Manual
Kernel I/O Controls
This describes the KernelIoControl() functions available to application
programmers. Most C++ applications will need to prototype the function
as the following to avoid link and compile errors.
extern “C” BOOL KernelIoControl(DWORD dwIoControlCode, LPVOID lpInBuf, DWORD
nInBufSize, LPVOID lpOutBuf, DWORD nOutBufSize, LPDWORD lpBytesReturned);
IOCTL_HAL_GET_DEVICE_INFO
This IOCTL returns either the platform type or the OEMPLATFORM
name based on an input value.
Syntax
BOOL KernelIoControl( IOCTL_HAL_GET_DEVICE_INFO, LPVOID
lpInBuf, DWORD nInBufSize, LPVOID lpOutBuf, DWORD
nOutBufSize, LPDWORD lpBytesReturned );
Parameters
lpInBuf
Points to a DWORD containing either the SPI_GETPLAT-
FORMTYPE or SPI_GETOEMINFO value.
lpInBufSize
Must be set to sizeof(DWORD).
lpOutBuf
Must point to a buffer large enough to hold the return data of the
function. If SPI_GETPLATFORMTYPE is specified in lpInBuf,
then the “PocketPC\0” Unicode string is returned. If SPI_GE-
TOEMINFO is specified in lpInBuf, then the “Intermec 700\0”
Unicode string is returned.
nOutBufSize
The size of lpOutBuf in bytes. Must be large enough to hold the
string returned.
lpBytesReturned
The actual number of bytes returned by the function for the data
requested.
Return Values
Returns TRUE if function succeeds. Returns FALSE if the function fails.
GetLastError() may be used to get the extended error value.