Whilst monitoring my device driver I noticed it being sent device code that
I do not recognise. The codes are 0x700080 and0x7000A0. These appear to be
disk functions but the function codes 0x14 and 0x28 do not appear in the
header files supplied with the DDK.

Does anyone know what these codes are?

Does anyone know of a more complete list of function codes?

RE: Unknown device control codes by bburgin

bburgin
Sat Aug 30 16:25:24 CDT 2003

------=_NextPart_0001_B7138C1A
Content-Type: text/plain
Content-Transfer-Encoding: 7bit



When I decode I get device type 0x70, not 0x07 (FILE_DEVICE_DISK),
functions 0x20 and 0x28, any access, method buffered. But assuming that
you mistyped the device type, see if this helps (FILE_DEVICE_DISK functions
0x14, 0x20 and 0x28):

From ntdddisk.h:

#define IOCTL_DISK_BASE FILE_DEVICE_DISK

#define IOCTL_DISK_GET_DRIVE_LAYOUT_EX CTL_CODE(IOCTL_DISK_BASE,
0x0014, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define SMART_GET_VERSION CTL_CODE(IOCTL_DISK_BASE, 0x0020,
METHOD_BUFFERED, FILE_READ_ACCESS)
#define IOCTL_DISK_GET_DRIVE_GEOMETRY_EX CTL_CODE(IOCTL_DISK_BASE,
0x0028, METHOD_BUFFERED, FILE_ANY_ACCESS)

BTW, a useful tool for decoding IOCTLs is at
http://www.osronline.com/article.cfm?id=229

Bryan S. Burgin
bburgin@microsoft.com

This posting is provided "AS IS" with no warranties, and confers no rights.

------=_NextPart_0001_B7138C1A
Content-Type: text/x-rtf
Content-Transfer-Encoding: 7bit

{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fprq2\fcharset0 MS Sans Serif;}}
\viewkind4\uc1\pard\f0\fs20
\par
\par When I decode I get device type 0x70, not 0x07 (FILE_DEVICE_DISK), functions 0x20 and 0x28, any access, method buffered. But assuming that you mistyped the device type, see if this helps (FILE_DEVICE_DISK functions 0x14, 0x20 and 0x28):
\par
\par From ntdddisk.h:
\par
\par #define IOCTL_DISK_BASE FILE_DEVICE_DISK
\par
\par #define IOCTL_DISK_GET_DRIVE_LAYOUT_EX CTL_CODE(IOCTL_DISK_BASE, 0x0014, METHOD_BUFFERED, FILE_ANY_ACCESS)
\par #define SMART_GET_VERSION CTL_CODE(IOCTL_DISK_BASE, 0x0020, METHOD_BUFFERED, FILE_READ_ACCESS)
\par #define IOCTL_DISK_GET_DRIVE_GEOMETRY_EX CTL_CODE(IOCTL_DISK_BASE, 0x0028, METHOD_BUFFERED, FILE_ANY_ACCESS)
\par
\par BTW, a useful tool for decoding IOCTLs is at http://www.osronline.com/article.cfm?id=229
\par
\par Bryan S. Burgin
\par bburgin@microsoft.com
\par
\par This posting is provided "AS IS" with no warranties, and confers no rights.
\par
\par
\par }
------=_NextPart_0001_B7138C1A--