Поделиться через


IOCTL_CHANGER_GET_ELEMENT_STATUS IOCTL (ntddchgr.h)

Возвращает состояние всех элементов или состояние указанного числа элементов определенного типа.

Описание возможных типов элементов см. в разделе CHANGER_ELEMENT.

Основной код

IRP_MJ_DEVICE_CONTROL

Входной буфер

Буфер в Irp->AssociatedIrp.SystemBuffer содержит данные CHANGER_READ_ELEMENT_STATUS, указывающие тип элемента и количество элементов, для которых необходимо вернуть состояние.

Если вызывающий объект задает элемент VolumeTagInfo CHANGER_READ_ELEMENT_STATUS значение TRUE, то состояние элемента, возвращаемое, будет содержать сведения о теге тома.

Длина входного буфера

Parameters.DeviceIoControl.InputBufferLength в расположении стека ввода-вывода указывает размер буфера параметров для входных данных, который должен быть >= размер(CHANGER_READ_ELEMENT_STATUS).

Выходной буфер

Драйвер миникласса изменения возвращает данные о состоянии элемента изменения в буфере в Irp->AssociatedIrp.SystemBuffer. Некоторые элементы типа ChangerDrive возвращают данные сведений о продукте. Если устройство предоставляет сведения о продукте, драйвер миникласса сообщает данные о состоянии элемента в структуре типа CHANGER_ELEMENT_STATUS_EX. Драйвер miniclass задает ELEMENT_STATUS_PRODUCT_DATA в элементе Flags структуры, чтобы указать, что он содержит данные сведений о продукте. Для элементов всех типов, отличных от ChangerDrive, драйвер сообщает данные о состоянии элемента в структуре типа CHANGER_ELEMENT_STATUS.

Длина выходного буфера

Parameters.DeviceIoControl.OutputBufferLength указывает размер буфера параметров для вывода. Для элементов типа ChangerDriveэто значение должно быть >= NumberOfElements * sizeof(CHANGER_ELEMENT_STATUS_EX). Для элементов всех других типов это значение должно быть >= NumberOfElements * sizeof(CHANGER_ELEMENT_STATUS).

Блок состояния

В поле Information задано количество возвращаемых байтов. Поле состояния имеет значение STATUS_SUCCESS или STATUS_BUFFER_TOO_SMALL, STATUS_INFO_LENGTH_MISMATCH, STATUS_INSUFFICIENT_RESOURCES, STATUS_INVALID_ELEMENT_ADDRESS или STATUS_INVALID_PARAMETER.

Требования

Требование Ценность
заголовка ntddchgr.h (include Ntdchgr.h)

См. также

CHANGER_ELEMENT

CHANGER_ELEMENT_STATUS

CHANGER_ELEMENT_STATUS_EX

ChangerGetElementStatus