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


IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES IOCTL (ntddstor.h)

Этот запрос IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES используется для отправки запроса на управление набором данных на устройство хранения.

Основной код

IRP_MJ_DEVICE_CONTROL

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

Буфер в Irp->AssociatedIrp.SystemBuffer содержит структуру DEVICE_DSM_INPUT. В зависимости от элемента Action этой структуры входной буфер может дополнительно включать блок параметров и блок диапазонов наборов данных. Описание всех возможных действий см. в описания DEVICE_DSM_ACTION описания.

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

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

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

В зависимости от значения, заданного в элементе Action DEVICE_DSM_INPUT, запрос может возвращать данные в буфере по Irp->AssociatedIrp.SystemBuffer. Системный буфер будет содержать допустимые данные DEVICE_DSM_OUTPUT, если операция DSM возвращает выходные данные и Parameters.DeviceIoControl.OutputBufferLength> 0. В зависимости от действиявыходной буфер может дополнительно включать выходной блок.

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

Длина в байтах выходного буфера, если она есть. Если выходные данные возвращаются, выходной буфер должен быть по крайней мере размер(DEVICE_DSM_OUTPUT).

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

Поле состояния можно задать для STATUS_SUCCESS или, возможно, STATUS_INVALID_DEVICE_REQUEST, STATUS_BUFFER_TOO_SMALL, STATUS_BUFFER_OVERFLOW или другого состояния ошибки.

Замечания

В связи с требованиями к пулу памяти стеком драйверов хранилища выполнение IRP, содержащего этот IOCTL, должно находиться в < DISPATCH_LEVEL IRQL.

Дополнительные сведения см. в обзоре управления набором данных.

Требования

Требование Ценность
заголовка ntddstor.h (include Ntddstor.h)
IRQL IRQL < DISPATCH_LEVEL (см. раздел "Примечания".)

См. также

Обзор управления набором данных

DEVICE_DSM_ACTION описания

DEVICE_DSM_INPUT

DEVICE_DSM_OUTPUT