IOCTL_ATA_PASS_THROUGH

必须要写,全是英文的看的脑子都大了,从msdn上的说明直接翻译。

If a class driver for the target type of device exists, the application must send the request to the class driver. Thus, an application can send this request directly to the system port driver for a target logical unit (LU) only if there is no class driver for the type of device connected to that LU. The system port driver does not check to determine if a device has been claimed by a class driver before processing a pass-through request. Therefore, if an application bypasses a class driver that has claimed a device and sends a pass-through request for that device directly to the port driver, a conflict for control of the device can occur between the class driver and the application.

如果一个块驱动的目标设备不存在的话,这个应用可以向块驱动器发送请求。因此,只有当这个设备没有驱动程序的时候才允许应用程序直接向系统端口发送请求。系统端口驱动不会检查是否设备被声明,当系统去执行一个pass-through请求的时候。所以,如果应用绕过设备驱动而直接向驱动接口发送传送请求的话,可能引起驱动和应用对设备控制的矛盾。我理解就是一个设备不能同时由两个软件控制,否则会出错。

This request cannot be used if the command requires the underlying driver to access memory directly. If the caller's command might require direct access to memory, use IOCTL_ATA_PASS_THROUGH_DIRECT instead. 

这个请求不能用于直接对内存的操作。如果想直接获得内存的权限,使用IOCTL_ATA_PASS_THROUGH_DIRECT代替。

  • Applications must not attempt to send a pass-through request asynchronously. All pass-through requests must be synchronous.

  • Applications do not require administrative privileges to send a pass-through request to a device, but they must have read/write access to the device.

程序不能发送异步响应,所有的请求必须是同步的。

程序不需要管理员特权就可以发送pass-though命令,但是他们必须有对设备读写的权限。

输入参数:InputBufferLength指定了输入数据的内存大小。如果是读操作,这个值必须等于sizeof (ATA_PASS_THROUGH_EX).无论是读还是写,当值小于sizeof (ATA_PASS_THROUGH_EX)时,都会报错。Irp->AssociatedIrp.SystemBuffer 内存什么意思?不懂,就当做是系统内存吧。在系统内存中必须要包含ATA_PASS_THROUGH_EX这个结构体,其中包含了操作码,及操作码的相关参数。用户必须对其初始化,其中PathId, TargetId, and Lun不用管。对于输出的参数来说,必须有结构体中的DataBufferOffset必须指向一列连续内存。(是有我写还是计算机在操作完成后写?)

输出参数:

指定输出使用ATA_PASS_THROUGH_EX结构,数据存在Irp->AssociatedIrp.SystemBuffer中。其中的DataTransferLength说明实际传了多少字节。如果是一个读操作的话,其值为sizeof(ATA_PASS_THROUGH_EX) + DataTransferLength。使用时可以减去结构体的长度。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
东南亚位于我国倡导推进的“一带一路”海陆交汇地带,作为当今全球发展最为迅速的地区之一,近年来区域内生产总值实现了显著且稳定的增长。根据东盟主要经济体公布的最新数据,印度尼西亚2023年国内生产总值(GDP)增长5.05%;越南2023年经济增长5.05%;马来西亚2023年经济增速为3.7%;泰国2023年经济增长1.9%;新加坡2023年经济增长1.1%;柬埔寨2023年经济增速预计为5.6%。 东盟国家在“一带一路”沿线国家中的总体GDP经济规模、贸易总额与国外直接投资均为最大,因此有着举足轻重的地位和作用。当前,东盟与中国已互相成为双方最大的交易伙伴。中国-东盟贸易总额已从2013年的443亿元增长至 2023年合计超逾6.4万亿元,占中国外贸总值的15.4%。在过去20余年中,东盟国家不断在全球多变的格局里面临挑战并寻求机遇。2023东盟国家主要经济体受到国内消费、国外投资、货币政策、旅游业复苏、和大宗商品出口价企稳等方面的提振,经济显现出稳步增长态势和强韧性的潜能。 本调研报告旨在深度挖掘东南亚市场的增长潜力与发展机会,分析东南亚市场竞争态势、销售模式、客户偏好、整体市场营商环境,为国内企业出海开展业务提供客观参考意见。 本文核心内容: 市场空间:全球行业市场空间、东南亚市场发展空间。 竞争态势:全球份额,东南亚市场企业份额。 销售模式:东南亚市场销售模式、本地代理商 客户情况:东南亚本地客户及偏好分析 营商环境:东南亚营商环境分析 本文纳入的企业包括国外及印尼本土企业,以及相关上下游企业等,部分名单 QYResearch是全球知名的大型咨询公司,行业涵盖各高科技行业产业链细分市场,横跨如半导体产业链(半导体设备及零部件、半导体材料、集成电路、制造、封测、分立器件、传感器、光电器件)、光伏产业链(设备、硅料/硅片、电池片、组件、辅料支架、逆变器、电站终端)、新能源汽车产业链(动力电池及材料、电驱电控、汽车半导体/电子、整车、充电桩)、通信产业链(通信系统设备、终端设备、电子元器件、射频前端、光模块、4G/5G/6G、宽带、IoT、数字经济、AI)、先进材料产业链(金属材料、高分子材料、陶瓷材料、纳米材料等)、机械制造产业链(数控机床、工程机械、电气机械、3C自动化、工业机器人、激光、工控、无人机)、食品药品、医疗器械、农业等。邮箱:market@qyresearch.com

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值