ChangerInitializeElementStatus 函数 (mcd.h)
ChangerInitializeElementStatus 使用 IOCTL 代码 IOCTL_CHANGER_INITIALIZE_ELEMENT_STATUS处理设备控制 IRP 的设备特定方面。
语法
NTSTATUS ChangerInitializeElementStatus(
[in] PDEVICE_OBJECT DeviceObject,
[in] PIRP Irp
);
参数
[in] DeviceObject
指向表示更换器的设备对象的指针。
[in] Irp
指向 IRP 的指针。
返回值
ChangerInitializeElementStatus 返回由系统端口驱动程序返回的状态或以下值之一:
STATUS_SUCCESS
STATUS_INVALID_PARAMETER
STATUS_INSUFFICIENT_RESOURCES
如果变更器不支持初始化特定类型的元素范围,并且 ChangerInitializeElementStatus 是使用 AllElements 以外的元素类型调用的,则返回STATUS_INVALID_PARAMETER。
注解
此例程是必需的。
ChangerInitializeElementStatus 使用有关其元素的当前信息更新更改程序的内部内存。
在调用 ChangerInitializeElementStatus 之前,变更程序类驱动程序会检查 I/O 堆栈位置中的输入缓冲区长度。
Irp-SystemBuffer> 将 CHANGER_INITIALIZE_ELEMENT_STATUS 结构作为输入参数指向,该结构指示要初始化其状态的元素,以及是否使用从条形码标签获取的数据初始化元素状态。
对于 SCSI 更改程序, ChangerInitializeElementStatus 使用 CDB 生成 SRB 以初始化元素状态,将从零开始的元素地址转换为特定于设备的地址,并将 SRB 发送到系统端口驱动程序。
ChangerInitializeElementStatus 在返回到变更程序类驱动程序之前,将 I/O 状态块中的 “信息” 字段设置为 sizeof (CHANGER_INITIALIZE_ELEMENT_STATUS) 。
要求
要求 | 值 |
---|---|
目标平台 | 桌面 |
标头 | mcd.h (包括 Mcd.h、Ntddchgr.h) |
IRQL | PASSIVE_LEVEL |