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

请教storport miniport的WMI问题

楼主#
更多 发布于:2008-12-17 23:18
我在支持Storport的Miniport驱动中增加了WMI功能。
按照Windows对WMI运行机制的定义,系统首先应该发WmiSubFunction = IRP_MN_REGINFO_EX (0x0b)的WMI命令,然后再发WmiSubFunction = IRP_MN_QUERY_ALL_DATA (0x00)的WMI命令, 但是我的驱动程序初始化后,StartIO函数收到的第一个来自Storport的WMI命令就是IRP_MN_QUERY_ALL_DATA (0x00),结果在调用ScsiPortWmiDispatchFunction()时导致系统蓝屏,而且HwScsiWmiQueryReginfo() 和HwScsiWmiQueryDataBlock() 都没有被执行,请高手指点。

错误信息如下:
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


游客

返回顶部