我正在研究如何用 C 语言在 Windows 中编写 iSCSI 启动器(如 Open-iSCSI (Linux) 或 Starwind iSCSI 启动器 (Windows))。我之前编写了一个 iSCSI 目标,现在我正在学习它的反面。我已经编写了主要目标消息(登录、读/写等)的启动器。我现在的问题是如何将我的 iSCSI 发起程序连接到 Windows 中的 SCSI 子系统,该子系统负责发送要读/写的 lba、发送查询、modesense 消息。我之前看过其他开源启动器,如 Open-iSCSI,它是一个内核模式驱动程序,我猜它直接与 Linux 中的 SCSI 子系统接口,我不知道在 Windows 中如何做。
有人建议使用 SCSI Miniport 驱动程序,我正在尝试调查。
有人可以指出我正确的方向吗?是否有一个 API 将操作系统如何将 SCSI 命令连接到自定义 iSCSI 启动器?
您可能认为我在重新发明轮子,因为 Windows 上已经有一个内置的 iSCSI 启动器,但是有一些精简版的 Windows 已经删除了启动器,并且还想了解如何创建自定义 iSCSI 启动器我自己的。