Closed. This question does not meet Stack Overflow guidelines。它当前不接受答案。
想改善这个问题吗?更新问题,以便将其作为on-topic用于堆栈溢出。
2年前关闭。
Improve this question
我正在研究如何在Windows中使用C语言对iSCSI启动器进行编程(例如Open-iSCSI(Linux)或Starwind iSCSI启动器(Windows))。我以前已经编码了一个iSCSI目标,现在我正在学习相反的东西。我已经将大多数发起程序编码为目标消息(登录,读/写等)。我现在的问题是如何将iSCSI启动器连接到Windows中的SCSI子系统,它负责发送要读取/写入的lba,发送查询,modesense msgs。我以前看过其他开源启动器,例如Open-iSCSI,它是内核模式驱动程序,我猜想它直接与Linux中的SCSI子系统接口(interface),而我不知道该如何在Windows中使用。
有人建议使用SCSI Miniport驱动程序,而我正在尝试调查。
有人可以指出我正确的方向吗?是否有一个API可以钩挂OS如何将SCSI命令连接到自定义iSCSI启动器?
您可能会认为我正在重新发明轮子,因为Windows上已经有内置的iSCSI启动器,但是有些精简版Windows已删除了启动器,并且还想学习如何在Windows上创建自定义iSCSI启动器我自己的。
想改善这个问题吗?更新问题,以便将其作为on-topic用于堆栈溢出。
2年前关闭。
Improve this question
我正在研究如何在Windows中使用C语言对iSCSI启动器进行编程(例如Open-iSCSI(Linux)或Starwind iSCSI启动器(Windows))。我以前已经编码了一个iSCSI目标,现在我正在学习相反的东西。我已经将大多数发起程序编码为目标消息(登录,读/写等)。我现在的问题是如何将iSCSI启动器连接到Windows中的SCSI子系统,它负责发送要读取/写入的lba,发送查询,modesense msgs。我以前看过其他开源启动器,例如Open-iSCSI,它是内核模式驱动程序,我猜想它直接与Linux中的SCSI子系统接口(interface),而我不知道该如何在Windows中使用。
有人建议使用SCSI Miniport驱动程序,而我正在尝试调查。
有人可以指出我正确的方向吗?是否有一个API可以钩挂OS如何将SCSI命令连接到自定义iSCSI启动器?
您可能会认为我正在重新发明轮子,因为Windows上已经有内置的iSCSI启动器,但是有些精简版Windows已删除了启动器,并且还想学习如何在Windows上创建自定义iSCSI启动器我自己的。
最佳答案
我建议推StarWind伙计们,让他们放弃用于维护/扩展的iSCSI启动器。它被编写为单片SCSI端口(超快!),并且不受Microsoft的支持,因此MSFT绝不会按原样接受它。在这里ping他们:
https://forums.starwindsoftware.com/viewforum.php?f=4&sid=a76a36e594767d2d6e8cb0d97a9c2f91
或者,您需要检查所谓的“Virtual StorPort miniport”,因为它是Microsoft为虚拟存储驱动程序设计的一种“祝福”。看:
https://code.msdn.microsoft.com/windowshardware/WDKStorPortVirtualMiniport-973650f6
对于您来说,这应该是一个不错的开始,从Open-iSCSI移植iSCSI堆栈并非易事,但可行:)
祝你好运!
10-08 05:20