次の方法で共有


!ioctldecode

その !ioctldecode エクステンションディスプレイ Device Type, 必要なアクセス, ファンクション コード そして 転送タイプ 指定された IOCTL コードで指定されているように。 IOCTL 制御コードの詳細については、以下を参照してください I/O コントロール コードの定義.

!ioctldecode IoctlCode 

パラメーター

Ioctlコード

16 進数の IOCTL コードを指定します。 !irp コマンドは、出力に IOCTL コードを表示します。

DLL

Kdexts.dll

追加情報

IOCTL に関する情報を確認するには、まず対象の IRP を見つけます。 !irpfind コマンドを使用して、目的の IRP を見つけることができます。

!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

表示される 3 番目の引数 (この場合は 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 フィールドに関する情報が表示されます。

!ioctldecode コマンドで識別できるのは、公的に定義された IOCTL のサブセットのみであることに注意してください。

IOCTL の詳細については、 「I/O 制御コードの概要」を参照してください

IRP と IOCTL に関する一般的な情報については、以下を参照してください Windows の内部機能 による マーク・E・ルシノビッチ、デビッド・A・ソロモン、アレックス・イオネスク。