WDF结构体继承
2024-01-15
15
0
WDF在内核中的驱动模块为Wdf01000.sys
WDF中的各个对象的公共模块为FxObject,其它对象对是继随于FxObject,如FxDevice对于的DEVICE_OBJECT,FxDriver对应的DRIVER_OBJECT.
Wdf01000的驱动属性信息如下:
1: kd> !drvobj Wdf01000 7
Driver object (ffffb389fbcd65d0) is for:
\Driver\Wdf01000
Driver Extension List: (id , addr)
(fffff806d58764c0 ffffb389fbc94470)
Device Object list:
ffffb389fbcfac00
DriverEntry: fffff806d590e000 Wdf01000!GsDriverEntry
DriverStartIo: 00000000
DriverUnload: fffff806d58a4680 Wdf01000!DriverUnload
AddDevice: 00000000
Dispatch routines:
[00] IRP_MJ_CREATE fffff806d5878bb0 Wdf01000!FxLibraryDispatch
[01] IRP_MJ_CREATE_NAMED_PIPE fffff800a48c06b4 nt!IopInvalidDeviceRequest
[02] IRP_MJ_CLOSE fffff806d5878bb0 Wdf01000!FxLibraryDispatch
[03] IRP_MJ_READ fffff800a48c06b4 nt!IopInvalidDeviceRequest
[04] IRP_MJ_WRITE fffff800a48c06b4 nt!IopInvalidDeviceRequest
[05] IRP_MJ_QUERY_INFORMATION fffff800a48c06b4 nt!IopInvalidDeviceRequest
[06] IRP_MJ_SET_INFORMATION fffff800a48c06b4 nt!IopInvalidDeviceRequest
[07] IRP_MJ_QUERY_EA fffff800a48c06b4 nt!IopInvalidDeviceRequest
[08] IRP_MJ_SET_EA fffff800a48c06b4 nt!IopInvalidDeviceRequest
[09] IRP_MJ_FLUSH_BUFFERS fffff800a48c06b4 nt!IopInvalidDeviceRequest
[0a] IRP_MJ_QUERY_VOLUME_INFORMATION fffff800a48c06b4 nt!IopInvalidDeviceRequest
[0b] IRP_MJ_SET_VOLUME_INFORMATION fffff800a48c06b4 nt!IopInvalidDeviceRequest
[0c] IRP_MJ_DIRECTORY_CONTROL fffff800a48c06b4 nt!IopInvalidDeviceRequest
[0d] IRP_MJ_FILE_SYSTEM_CONTROL fffff800a48c06b4 nt!IopInvalidDeviceRequest
[0e] IRP_MJ_DEVICE_CONTROL fffff800a48c06b4 nt!IopInvalidDeviceRequest
[0f] IRP_MJ_INTERNAL_DEVICE_CONTROL fffff800a48c06b4 nt!IopInvalidDeviceRequest
[10] IRP_MJ_SHUTDOWN fffff800a48c06b4 nt!IopInvalidDeviceRequest
[11] IRP_MJ_LOCK_CONTROL fffff800a48c06b4 nt!IopInvalidDeviceRequest
[12] IRP_MJ_CLEANUP fffff806d5878bb0 Wdf01000!FxLibraryDispatch
[13] IRP_MJ_CREATE_MAILSLOT fffff800a48c06b4 nt!IopInvalidDeviceRequest
[14] IRP_MJ_QUERY_SECURITY fffff800a48c06b4 nt!IopInvalidDeviceRequest
[15] IRP_MJ_SET_SECURITY fffff800a48c06b4 nt!IopInvalidDeviceRequest
[16] IRP_MJ_POWER fffff800a48c06b4 nt!IopInvalidDeviceRequest
[17] IRP_MJ_SYSTEM_CONTROL fffff800a48c06b4 nt!IopInvalidDeviceRequest
[18] IRP_MJ_DEVICE_CHANGE fffff800a48c06b4 nt!IopInvalidDeviceRequest
[19] IRP_MJ_QUERY_QUOTA fffff800a48c06b4 nt!IopInvalidDeviceRequest
[1a] IRP_MJ_SET_QUOTA fffff800a48c06b4 nt!IopInvalidDeviceRequest
[1b] IRP_MJ_PNP fffff800a48c06b4 nt!IopInvalidDeviceRequest
Device Object stacks:
!devstack ffffb389fbcfac00 :
!DevObj !DrvObj !DevExt ObjectName
> ffffb389fbcfac00 \Driver\Wdf01000 00000000 KMDF0
Processed 1 device objects.