IOCTL_CHANGER_GET_ELEMENT_STATUS IOCTL (ntddchgr.h)
Возвращает состояние всех элементов или состояние указанного числа элементов определенного типа.
Описание возможных типов элементов см. в разделе CHANGER_ELEMENT.
Основной код
Входной буфер
Буфер в 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) |