Функция ChangerInitializeElementStatus (mcd.h)
ChangerInitializeElementStatus обрабатывает аспекты IRP управления устройством с помощью кода IOCTL IOCTL_CHANGER_INITIALIZE_ELEMENT_STATUS.
Синтаксис
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 обновляет внутреннюю память модуля изменения с текущей информацией об его элементах.
Драйвер класса changer проверяет длину входного буфера в расположении стека ввода-вывода перед вызовом ChangerInitializeElementStatus.
Irp-SystemBuffer> указывает на структуру CHANGER_INITIALIZE_ELEMENT_STATUS в качестве входного параметра, указывающего элементы, для которых инициализируется состояние, и указывает, следует ли инициализировать состояние элемента данными, полученными из меток штрихкода.
Для устройства изменения SCSI ChangerInitializeElementStatus создает SRB с CDB для инициализации состояния элемента, преобразует отсчитываемые от нуля адреса элементов в адреса, относящиеся к устройству, и отправляет SRB драйверу системного порта.
ChangerInitializeElementStatus устанавливает для поля Information в блоке состояния ввода-вывода значение sizeof(CHANGER_INITIALIZE_ELEMENT_STATUS) перед возвратом к драйверу класса changer.
Требования
Требование | Значение |
---|---|
Целевая платформа | Персональный компьютер |
Верхняя часть | mcd.h (включая Mcd.h, Ntddchgr.h) |
IRQL | PASSIVE_LEVEL |