如何在windows中将我的ISCSI启动器连接到scsi子系统

如何在windows中将我的ISCSI启动器连接到scsi子系统,c,windows,api,iscsi,C,Windows,Api,Iscsi,我正在研究如何用C语言在Windows中编程iSCSI启动器(如Open iSCSI(Linux)或Starwind iSCSI启动器(Windows))。我以前编写过一个iSCSI目标,现在我正在学习与之相反的内容。我已经将启动器编码为目标消息(登录、读/写等)。我现在的问题是如何将iSCSI启动器连接到Windows中的SCSI子系统,该子系统负责发送要读/写的lba、发送查询、modesense MSG。我以前看过其他开源启动器,比如OpeniSCSI,它是一个内核模式驱动程序,我猜它直接

我正在研究如何用C语言在Windows中编程iSCSI启动器(如Open iSCSI(Linux)或Starwind iSCSI启动器(Windows))。我以前编写过一个iSCSI目标,现在我正在学习与之相反的内容。我已经将启动器编码为目标消息(登录、读/写等)。我现在的问题是如何将iSCSI启动器连接到Windows中的SCSI子系统,该子系统负责发送要读/写的lba、发送查询、modesense MSG。我以前看过其他开源启动器,比如OpeniSCSI,它是一个内核模式驱动程序,我猜它直接与Linux中的SCSI子系统接口,而我不知道在windows中如何做

有人建议使用SCSI微型端口驱动程序,我正在研究这个问题

有人能给我指出正确的方向吗?是否有一个API将操作系统如何将SCSI命令连接到自定义iSCSI启动器


你可能会认为我是在重新发明轮子,因为Windows上已经有了内置的iSCSI启动器,但是有一些精简版的Windows已经删除了启动器,我还想学习如何自己创建一个自定义iSCSI启动器。

我建议让StarWind的伙计们把他们的iSCSI启动器送给你,以便进行维护/扩展。它是作为单片SCSI端口编写的(超高速!),Microsoft不支持它,因此MSFT不可能接受它作为生产端口。在此处Ping它们:

或者,您需要检查所谓的“虚拟StorPort miniport”,因为它是Microsoft为虚拟存储驱动程序“祝福”的设计。见:

这对您来说应该是一个良好的开端,从开放式iSCSI移植iSCSI堆栈并非微不足道,而是可行的:)


祝你好运

尝试查看此…它是否像此O.S.->WDKStorPortVirtualMiniport->iSCSI启动器?调用启动器函数的部分在哪里?不过,这可能就是我要找的。谢谢。iSCSI initiator示例是关于通过公共API管理MSFT iSCSI initiator的,据我所知,您希望替换MSFT而不是“谈论”他们的代码。。。