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

如果 changer 不支持初始化特定类型的元素范围,并且使用 AllElements 以外的元素类型调用 ChangerInitializeElementStatus,则返回STATUS_INVALID_PARAMETER。

言论

此例程是必需的。

ChangerInitializeElementStatus 更新更改器的内部内存及其元素的当前信息。

在调用 ChangerInitializeElementStatus之前,changer 类驱动程序先检查 I/O 堆栈位置中的输入缓冲区长度。

Irp->SystemBuffer 指向 CHANGER_INITIALIZE_ELEMENT_STATUS 结构作为输入参数,该参数指示要初始化状态的元素,以及是否使用从条形码标签获取的数据初始化元素状态。

对于 SCSI 更改程序,ChangerInitializeElementStatus 生成具有 CDB 的 SRB 来初始化元素状态,将基于零的元素地址转换为特定于设备的地址,并将 SRB 发送到系统端口驱动程序。

ChangerInitializeElementStatus 将 I/O 状态块中的 信息 字段设置为在返回到 changer 类驱动程序之前 sizeof(CHANGER_INITIALIZE_ELEMENT_STATUS)。

要求

要求 价值
目标平台 桌面
标头 mcd.h (包括 Mcd.h、Ntddchgr.h)
IRQL PASSIVE_LEVEL

另请参阅

CHANGER_ELEMENT_LIST

CHANGER_INITIALIZE_ELEMENT_STATUS

ChangerGetElementStatus