在检测期间验证 HwScsiFindAdapter 中的资源范围

尽管通常不需要在 即插即用 下通过驱动程序检测设备,但端口驱动程序可能会调用 即插即用 微型端口驱动程序的 HwScsiFindAdapter 例程来检测不可枚举总线上的设备。 虽然此操作类似于 Microsoft Windows NT 4.0 中的检测,但微型端口驱动程序必须注意不要对可能由其他设备使用的范围进行操作。

在调用 ScsiPortGetDeviceBase 之前,微型端口驱动程序应调用 ScsiPortValidateRange,以确保微型端口驱动程序提供的范围是安全的使用。 必须准备好微型端口驱动程序, ScsiPortGetDeviceBase 才能失败并返回 NULL 指针。 微型端口驱动程序还应避免映射从地址 0 开始的内存,因此在某些系统上无法检测 ScsiPortGetDeviceBase 的故障。