!ioctldecode
Расширение !ioctldecode отображает тип устройства, обязательный доступ, код функции и тип передачи, указанный указанным кодом IOCTL. Дополнительные сведения о кодах управления IOCTL см. в разделе "Определение кодов элементов управления ввода-вывода".
!ioctldecode IoctlCode
Параметры
IoctlCode
Задает шестнадцатеричный код IOCTL. Команда !irp отображает код IOCTL в выходных данных.
DLL-библиотеки
Kdexts.dll
Дополнительная информация
Чтобы просмотреть информацию об IOCTL, сначала мы найдем IRP интереса. Вы можете использовать команду !irpfind для поиска интересующего вас идентификатора.
Используйте команду !irp для отображения сведений об irp.
0: kd> !irp ffffd581a6c6cd30
Irp is active with 6 stacks 6 is current (= 0xffffd581a6c6cf68)
No Mdl: No System Buffer: Thread 00000000: Irp stack trace.
cmd flg cl Device File Completion-Context
[N/A(0), N/A(0)]
0 0 00000000 00000000 00000000-00000000
Args: 00000000 00000000 00000000 00000000
[N/A(0), N/A(0)]
0 0 00000000 00000000 00000000-00000000
Args: 00000000 00000000 00000000 00000000
[N/A(0), N/A(0)]
0 0 00000000 00000000 00000000-00000000
Args: 00000000 00000000 00000000 00000000
[N/A(0), N/A(0)]
0 0 00000000 00000000 00000000-00000000
Args: 00000000 00000000 00000000 00000000
[N/A(0), N/A(0)]
0 0 00000000 00000000 00000000-00000000
Args: 00000000 00000000 00000000 00000000
>[IRP_MJ_INTERNAL_DEVICE_CONTROL(f), N/A(0)]
0 e1 ffffd581a5fbd050 00000000 fffff806d2412cf0-ffffd581a5cce050 Success Error Cancel pending
\Driver\usbehci (IopUnloadSafeCompletion)
Args: ffffd581a6c61a50 00000000 0x220003 00000000
Третий аргумент, отображаемый в данном случае 0x220003, является кодом IOCTL. Используйте код IOCTL для отображения сведений о IOCTL, в этом случае IOCTL_INTERNAL_USB_SUBMIT_URB.
0: kd> !ioctldecode 0x220003
IOCTL_INTERNAL_USB_SUBMIT_URB
Device Type : 0x22 (FILE_DEVICE_WINLOAD) (FILE_DEVICE_USER_MODE_BUS) (FILE_DEVICE_USB) (FILE_DEVICE_UNKNOWN)
Method : 0x3 METHOD_NEITHER
Access : FILE_ANY_ACCESS
Function : 0x0
Если вы предоставляете код IOCTL, который недоступен, вы увидите этот тип выходных данных.
0: kd> !ioctldecode 0x1280ce
Unknown IOCTL : 0x1280ce
Device Type : 0x12 (FILE_DEVICE_NETWORK)
Method : 0x2 METHOD_OUT_DIRECT
Access : FILE_WRITE_ACCESS
Function : 0x33
Хотя IOCTL не определен, отображаются сведения о полях IOCTL.
Обратите внимание, что только подмножество общедоступных определяемых IOCTLs можно определить с помощью команды !ioctldecode .
Дополнительные сведения о ioCTLs см. в разделе "Введение в коды управления ввода-вывода".
Дополнительные сведения об IRPs и IOCTLs см. в разделе "Внутренние " Windows Марком Э. Руссиновичем, Дэвидом А. Соломоном и Алексом Ионеску.