!ioctldecode
L'estensione !ioctldecode visualizza il tipo di dispositivo, l'accesso obbligatorio, il codice della funzione e il tipo di trasferimento come specificato dal codice IOCTL specificato. Per altre informazioni sui codici di controllo IOCTL, vedere Definizione dei codici di controllo I/O.
!ioctldecode IoctlCode
Parametri
IoctlCode
Specifica il codice IOCTL esadecimale. Il comando !irp visualizza il codice IOCTL nell'output.
DLL
Kdexts.dll
Informazioni aggiuntive
Per visualizzare informazioni sull'IOCTL, individuare prima un IRP di interesse. È possibile usare il comando !irpfind per individuare un irp di interesse.
Usare il comando !irp per visualizzare informazioni sull'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
Il terzo argomento visualizzato, in questo caso 0x220003, è il codice IOCTL. Usare il codice IOCTL per visualizzare informazioni sull'IOCTL, in questo caso 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
Se si specifica un codice IOCTL non disponibile, verrà visualizzato questo tipo di output.
0: kd> !ioctldecode 0x1280ce
Unknown IOCTL : 0x1280ce
Device Type : 0x12 (FILE_DEVICE_NETWORK)
Method : 0x2 METHOD_OUT_DIRECT
Access : FILE_WRITE_ACCESS
Function : 0x33
Anche se l'IOCTL non è identificato, vengono visualizzate informazioni sui campi IOCTL.
Si noti che solo un subset di IOCTLs definiti pubblicamente può essere identificato dal comando !ioctldecode .
Per altre informazioni sui codici IOCTL, vedere Introduzione ai codici di controllo di I/O.
Per informazioni più generali sugli IRP e IOCTLs, vedere Internals di Windows di Mark E. Russinovich, David A. Solomon e Alex Ionovich.