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


структура DEVICE_MANAGE_DATA_SET_ATTRIBUTES (winioctl.h)

Структура входных данных для кода элемента управления IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES .

Синтаксис

typedef struct _DEVICE_MANAGE_DATA_SET_ATTRIBUTES {
  DWORD             Size;
  DEVICE_DSM_ACTION Action;
  DWORD             Flags;
  DWORD             ParameterBlockOffset;
  DWORD             ParameterBlockLength;
  DWORD             DataSetRangesOffset;
  DWORD             DataSetRangesLength;
} DEVICE_MANAGE_DATA_SET_ATTRIBUTES, *PDEVICE_MANAGE_DATA_SET_ATTRIBUTES, DEVICE_DSM_INPUT, *PDEVICE_DSM_INPUT;

Члены

Size

Размер этой структуры данных. Нужно задать значение sizeof(DEVICE_MANAGE_DATA_SET_ATTRIBUTES).

Action

Допустимое значение типа DEVICE_DATA_MANAGEMENT_SET_ACTION.

Значение Значение
DeviceDsmAction_Trim
1
Выполняется действие обрезки. Это значение не поддерживается для приложений в пользовательском режиме.
DeviceDsmAction_Notification
2 | DeviceDsmActionFlag_NonDestructive (0x80000002)
Выполняется действие уведомления. Дополнительные параметры находятся в DEVICE_DSM_NOTIFICATION_PARAMETERS структуре. DeviceDsmActionFlag_NonDestructive (0x80000000) — это битовый флаг, указывающий стеку драйверов, что эта операция неразрушительная.
DeviceDsmAction_OffloadRead
3 | DeviceDsmActionFlag_NonDestructive (0x80000003)
Выполняется действие чтения разгрузки. Дополнительные параметры находятся в DEVICE_DSM_OFFLOAD_READ_PARAMETERS структуре. DeviceDsmActionFlag_NonDestructive (0x80000000) — это битовый флаг, указывающий стеку драйверов, что эта операция неразрушительная.

Windows 7 и Windows Server 2008 R2: Это значение не поддерживается до Windows 8 и Windows Server 2012.

DeviceDsmAction_OffloadWrite
4
Выполняется действие записи разгрузки. Дополнительные параметры находятся в DEVICE_DSM_OFFLOAD_WRITE_PARAMETERS структуре.

Windows 7 и Windows Server 2008 R2: Это значение не поддерживается до Windows 8 и Windows Server 2012.

DeviceDsmAction_Allocation
5 | DeviceDsmActionFlag_NonDestructive (0x80000005)
Растровое изображение выделения извлекается для первого указанного диапазона набора данных. DeviceDsmActionFlag_NonDestructive (0x80000000) — это битовый флаг, указывающий стеку драйверов, что эта операция неразрушительная.

Windows 7 и Windows Server 2008 R2: Это значение не поддерживается до Windows 8 и Windows Server 2012.

DeviceDsmAction_Repair
6 | DeviceDsmActionFlag_NonDestructive (0x80000006)
Выполняется действие восстановления. Дополнительные параметры находятся в DEVICE_DATA_SET_REPAIR_PARAMETERS структуре. DeviceDsmActionFlag_NonDestructive (0x80000000) — это битовый флаг, указывающий стеку драйверов, что эта операция неразрушительная.

Windows 7 и Windows Server 2008 R2: Это значение не поддерживается до Windows 8 и Windows Server 2012.

DeviceDsmAction_Scrub
7 | DeviceDsmActionFlag_NonDestructive (0x80000007)
Выполняется действие скрабирования. DeviceDsmActionFlag_NonDestructive (0x80000000) — это битовый флаг, указывающий стеку драйверов, что эта операция неразрушительная.

Windows 7 и Windows Server 2008 R2: Это значение не поддерживается до Windows 8 и Windows Server 2012.

DeviceDsmAction_Resiliency
8 | DeviceDsmActionFlag_NonDestructive (0x80000008)
Выполняется действие обеспечения устойчивости. DeviceDsmActionFlag_NonDestructive (0x80000000) — это битовый флаг, указывающий стеку драйверов, что эта операция неразрушительная.

Windows 7 и Windows Server 2008 R2: Это значение не поддерживается до Windows 8 и Windows Server 2012.

Flags

Флаги для действий.

Значение Значение
DEVICE_DSM_FLAG_TRIM_NOT_FS_ALLOCATED
0x80000000
Если задано значение , описанные диапазоны не выделяются файловой системой. Этот флаг зависит от действия DeviceDsmAction_Trim .
DEVICE_DSM_FLAG_RESILIENCY_START_RESYNC
0x10000000
Запускает операцию повторной синхронизации на устройстве хранения. Этот флаг зависит от действия DeviceDsmAction_Resiliency .
DEVICE_DSM_FLAG_RESILIENCY_START_LOAD_BALANCING
0x20000000
Запускает операцию балансировки нагрузки на запоминающее устройство. Этот флаг зависит от действия DeviceDsmAction_Resiliency .

ParameterBlockOffset

Смещение байтов до начала блока параметров, хранящегося в буфере, примыкающего к этой структуре. Должен быть выровнен по соответствующему выравниванию структуры. Нулевое значение указывает, что блок параметров отсутствует, а член ParameterBlockLength также должен быть равен нулю.

ParameterBlockLength

Длина блока параметров в байтах. Нулевое значение указывает на отсутствие блока параметров, а член ParameterBlockOffset также должен быть равен нулю.

DataSetRangesOffset

Смещение байтов к началу блока диапазонов набора данных, состоящего из массива DEVICE_DATA_SET_RANGE структур, хранящихся в буфере, прилегающего к этой структуре. Должен быть выровнен по DEVICE_DATA_SET_RANGE выравниванию структуры. Нулевое значение указывает на отсутствие блока диапазонов набора данных, а элемент DataSetRangesLength также должен быть равен нулю.

DataSetRangesLength

Длина блока диапазонов набора данных в байтах. Нулевое значение указывает на отсутствие блока диапазонов набора данных, а элемент DataSetRangesOffset также должен быть равен нулю.

Комментарии

Общая длина буфера, содержащего эту структуру, должна быть не менее (sizeof(DEVICE_MANAGE_DATA_SET_ATTRIBUTES) + ParameterBlockLength + DataSetRangesLength).

Требования

   
Минимальная версия клиента Windows 7
Минимальная версия сервера Windows Server 2008 R2
Верхняя часть winioctl.h (включая Windows.h)

См. также раздел

DEVICE_DATA_SET_RANGE

Структуры Управление устройствами

IOCTL_STORAGE_MANAGE_DATA_SET_ATTRIBUTES