rocky_liao
驱动牛犊
驱动牛犊
  • 注册日期2008-12-17
  • 最后登录2010-12-22
  • 粉丝0
  • 关注0
  • 积分23分
  • 威望161点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2760回复:1

请教storport miniport的WMI问题

楼主#
更多 发布于:2008-12-17 23:00
我在storport  miniport驱动中添加了WMI支持,即把PORT_CONFIGURATION_INFORMATION的WmiDataProvider参数设为了TRUE, 按照Windows对WMI运行机制的定义,首先应该发IRP_MN_REGINFO_EX 0x0b,命令,然后再发IRP_MN_QUERY_ALL_DATA 0x00命令,
但是我的驱动程序初始化后,StartIO函数收到的第一个来自Storport的WMI命令就是IRP_MN_QUERY_ALL_DATA 0x00,从而导致系统蓝屏,请高手指点。

错误信息如下:
HWStartIO: Srb->Function = 0x17
HWStartIo: SRB_FUNCTION_WMI
WmiOsProcessSrb: Srb->DataPath = 0x0
WmiOsProcessSrb: Srb->DataBuffer = 0x85258000
WmiOsProcessSrb: Srb->DataTransferLength = 8080
WmiOsProcessSrb: Srb->WMIFlags = 0x1
WmiOsProcessSrb: Srb->WMISubFunction = 0x0
WmiOsProcessSrb: Srb->SrbFlags = 0x140

*** Fatal System Error: 0x000000d1
                      (0x00000000,0x00000002,0x00000000,0xF5C3DC56)

Break instruction exception - code 80000003 (first chance)

A fatal system error has occurred.
Debugger entered on first try; Bugcheck callbacks have not been invoked.

A fatal system error has occurred.

READ_ADDRESS:  00000000

CURRENT_IRQL:  2

FAULTING_IP:
PMSPCDN!ScsiWmipFindGuid+1c [d:\dnsrv\drivers\storage\scsiwmi\wmilib.c @ 91]
bae845ce f3a7            repe cmps dword ptr [esi],dword ptr es:[edi]

DEFAULT_BUCKET_ID:  DRIVER_FAULT

BUGCHECK_STR:  0xD1

PROCESS_NAME:  System

TRAP_FRAME:  f78f29bc -- (.trap 0xfffffffff78f29bc)
ErrCode = 00000000
eax=00000000 ebx=00000000 ecx=00000004 edx=bafe438c esi=00000000 edi=bafe436c
eip=bae845ce esp=f78f2a30 ebp=f78f2a3c iopl=0        nv up ei pl zr na pe nc
cs=0008  ss=0010  ds=0023  es=0023  fs=0030  gs=0000            efl=00010246
PMSPCDN!ScsiWmipFindGuid+0x1c:
bae845ce f3a7            repe cmps dword ptr [esi],dword ptr es:[edi] ds:0023:00000000=???????? es:0023:bafe436c=c6fb7542
Resetting default scope

LAST_CONTROL_TRANSFER:  from 8082616f to 80871648

STACK_TEXT:  
f78f25b8 8082616f 00000003 00000000 0000000a nt!RtlpBreakWithStatusInstruction
f78f2604 80827044 00000003 00000000 bae845ce nt!KiBugCheckDebugBreak+0x19
f78f299c 8088bdd3 0000000a 00000000 00000002 nt!KeBugCheck2+0x5b2
f78f299c bae845ce 0000000a 00000000 00000002 nt!KiTrap0E+0x2a7
f78f2a3c bae84784 bafe438c 00000002 00000000 MyDriver!ScsiWmipFindGuid+0x1c [d:\dnsrv\drivers\storage\scsiwmi\wmilib.c @ 91]
f78f2a68 bae84a88 8a103ed4 89a14700 8a103004 MyDriver!ScsiWmipProcessRequest+0x30 [d:\dnsrv\drivers\storage\scsiwmi\wmilib.c @ 308]
f78f2a9c bae7ada3 8a103ed4 89a14700 8a103004 MyDriver!ScsiPortWmiDispatchFunction+0x4c [d:\dnsrv\drivers\storage\scsiwmi\wmilib.c @ 783]
f78f2ac8 bae77322 8a103004 89b33410 c05d7320 MyDriver!WmiOsProcessSrb+0x123 [d:\work\wmi\wmi_driver_21_02\tisa\drivers\windows\stor\startio.c @ 1715]
f78f2b04 bae55500 8a103004 89b33410 f78f2b3c MyDriver!HWStartIo+0x362 [d:\work\wmi\wmi_driver_21_02\tisa\drivers\windows\stor\startio.c @ 427]
f78f2b14 bae56a56 8a0e2c24 89b33410 00000f88 storport!RaCallMiniportStartIo+0x1e
f78f2b3c bae56af2 8a0e2b70 898e6e88 89bd26ec storport!RaidAdapterPostScatterGatherExecute+0x86
f78f2b54 80a5824f 8a0e2ab8 00000000 898e6ed4 storport!RaidpAdapterContinueScatterGather+0x2c
f78f2b80 bae5848c 898e6ed4 8a0e2ab8 89bd26c8 hal!HalBuildScatterGatherList+0x1c7
f78f2bb0 bae56b73 8a0e2cf8 8a0e2ab8 89bd26c8 storport!RaidDmaBuildScatterGatherList+0x2c
f78f2bec bae56bc5 8a0e2cf8 898e6e00 f78f2c14 storport!RaidAdapterScatterGatherExecute+0x49
f78f2bfc bae56ec0 8a0e2b70 898e6e88 89b33410 storport!RaidAdapterExecuteXrb+0x21
f78f2c14 bae643b1 8a0e2b70 898e6e88 f78f2c90 storport!RaidAdapterRaiseIrqlAndExecuteXrb+0x1c
f78f2c4c bae64503 8a0e2ab8 00000000 00001f88 storport!RaWmiPassToMiniPort+0x1a3
f78f2c7c bae64629 8a0e2ab8 f78f2c90 8a14da08 storport!RaWmiIrpRegisterRequest+0xa3
f78f2ca0 bae62e65 8a0e2ab8 89923380 f78f2cc4 storport!RaWmiDispatchIrp+0x53
f78f2cb0 8081dce5 8a0e2ab8 89923380 89923380 storport!RaDriverSystemControlIrp+0x15
f78f2cc4 8097f376 f78f2d48 89923380 8a0f2000 nt!IofCallDriver+0x45
f78f2cf0 8097f43f 89923380 00000008 8a0e2a03 nt!WmipForwardWmiIrp+0x17e
f78f2d1c 80981241 00000008 8a0e2ab8 00000000 nt!WmipSendWmiIrp+0x59
f78f2d58 809812c1 8a1b7210 00000000 f78f2d80 nt!WmipRegisterOrUpdateDS+0x75
f78f2d68 8098160e 8a1b7210 8a184660 808ae5fc nt!WmipRegisterDS+0xf
f78f2d80 8087f925 00000000 00000000 8a184660 nt!WmipRegistrationWorker+0x50
f78f2dac 80948bb2 00000000 00000000 00000000 nt!ExpWorkerThread+0xeb
f78f2ddc 8088d4d2 8087f83a 00000001 00000000 nt!PspSystemThreadStartup+0x2e
00000000 00000000 00000000 00000000 00000000 nt!KiThreadStartup+0x16


STACK_COMMAND:  kb

FOLLOWUP_IP:
MyDriver!ScsiWmipFindGuid+1c [d:\dnsrv\drivers\storage\scsiwmi\wmilib.c @ 91]
bae845ce f3a7            repe cmps dword ptr [esi],dword ptr es:[edi]

FAULTING_SOURCE_CODE:  
No source found for 'd:\dnsrv\drivers\storage\scsiwmi\wmilib.c'


SYMBOL_STACK_INDEX:  4

SYMBOL_NAME:  MyDriver!ScsiWmipFindGuid+1c

FOLLOWUP_NAME:  MachineOwner

MODULE_NAME: MyDriver

IMAGE_NAME:  MyDriver.SYS

DEBUG_FLR_IMAGE_TIMESTAMP:  49363ca7

FAILURE_BUCKET_ID:  0xD1_MyDriver!ScsiWmipFindGuid+1c

BUCKET_ID:  0xD1_MyDriver!ScsiWmipFindGuid+1c

Followup: MachineOwner
ggggchen
驱动牛犊
驱动牛犊
  • 注册日期2005-11-27
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分16分
  • 威望42点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2011-03-23 12:39
兄弟这个原因是因为这个WMI SRB 先进了HWBuildIo, 然后你的HWBuildIo可能把srb->WMISubFunction 里面的内容改了。
最近我跟解掉这个BUG.

ggggchen@gmail.com
游客

返回顶部