IOCTL_QUERY_RAO_INFO
This command is used to query the maximum UDS number and UDS size before the
Recommended Access Order list is generated and received (TS1140 or later).
The structure for the IOCTL_QUERY_RAO_INFO command
is
#define UDS_WITHOUT_GEOMETRY 0
#define UDS_WITH_GEOMETRY 1
typedef struct _QUERY_RAO_INF{
CHAR uds_type; /*[IN] 0: UDS_WITHOUT_GEOMETRY
1: UDS_WITH_GEOMETRY */
CHAR reserved[7];USHORT max_uds_number; /* [OUT] Max UDS number supported
from drive */
USHORT max_uds_size; /* [OUT] Max single UDS size supported
from drive in bytes */
USHORT max_host_uds_number; /* [OUT] Max UDS number supported from
driver */
} QUERY_RAO_INFO, *PQUERY_RAO_INFO;
An example of the IOCTL_QUERY_RAO_INFO command
is
QUERY_RAO_INFO qRAO;
...
qRAO.uds_type = udstype; //UDS_WITHOUT_GEOMETRY or UDS_WITH_GEOMETRY
*rc_ptr = DeviceIoControl(hDevice,
IOCTL_QUERY_RAO_INFO,&
qRAO,
sizeof(QUERY_RAO_INFO),
&qRAO,
sizeof(QUERY_RAO_INFO),
&cb,
(LPOVERLAPPED) NULL);