структура SET_BAND_METADATA_PARAMETERS (ehstorbandmgmt.h)

Метаданные для настроенного диапазона задаются параметрами в структуре SET_BAND_METADATA_PARAMETERS . Эта структура является входной для запроса IOCTL_EHSTOR_BANDMGMT_SET_BAND_METADATA .

Синтаксис

typedef struct _SET_BAND_METADATA_PARAMETERS {
  ULONG         StructSize;
  ULONG         BandId;
  LARGE_INTEGER BandStart;
  ULONG         MetadataOffset;
  ULONG         MetadataSize;
  ULONG         BufferOffset;
  ULONG         AuthKeyOffset;
} SET_BAND_METADATA_PARAMETERS, *PSET_BAND_METADATA_PARAMETERS;

Члены

StructSize

Размер этой структуры в байтах. Задайте значение sizeof(SET_BAND_METADATA_PARAMETERS).

BandId

Идентификатор одного диапазона для возврата сведений. BandSize должен иметь значение 0, если выбрана одна полоса с идентификатором BandId. Чтобы использовать BandStart и BandSize вместо BandId для выбора полосы, задайте bandId = (ULONG) –1.

BandStart

Начальное расположение байтов на запоминающее устройство для начала поиска по полосе. Предпринята попытка сопоставить группу в bandStart или после нее.

MetadataOffset

Смещение от начала свойства метаданных полосы для задания новых данных.

MetadataSize

Длина устанавливаемых байтов метаданных. Этот размер ограничен значением MetadataOffset , вычитаемым из элемента BandMetadataSizeструктуры BAND_MANAGEMENT_CAPABILITIES .

BufferOffset

Смещение в байтах от начала SET_BAND_METADATA_PARAMETERS до расположения новых метаданных.

AuthKeyOffset

Смещение в байтах структуры AUTH_KEY , содержащей ключ авторизации для полосы. Смещение начинается с начала SET_BAND_METADATA_PARAMETERS. AUTH_KEY объявляется в ehstorbandmgmt.h следующим образом.

typedef struct _AUTH_KEY
{
    ULONG   KeySize;
    UCHAR   Key[ANYSIZE_ARRAY];
} AUTH_KEY;

KeySize

Размер ключа в байтах данных ключа в разделе Ключ. Если параметр KeySize имеет значение 0, используется ключ по умолчанию.

Ключ

Массив байтов переменной длины, содержащий ключевые данные.

Чтобы указать ключ проверки подлинности по умолчанию для диапазона, задайте authKeyOffset = EHSTOR_BANDMGR_NO_KEY.

Комментарии

Приоритет присваивается BandID для выбора полосы. Если bandID больше 0, а BandID меньше, чем элемент MaxBandCountBAND_MANAGEMENT_CAPABILITIES, то BandID используется в качестве единственного критерия выбора для совпадения диапазона. Если BandID == -1, в качестве критерия соответствия для выбора полосы используется BandStart . Если ни один из диапазонов не соответствует ни один из критериев выбора, STATUS_INVALID_PARAMETER возвращается в блоке IoStatus для IOCTL_EHSTOR_BANDMGMT_SET_BAND_METADATA.

Если для bandID и BandStart задано значение –1, то IOCTL_EHSTOR_BANDMGMT_SET_BAND_METADATA задает метаданные для глобального диапазона.

Размер хранилища метаданных полосы находится в элементе BandMetadataSizeBAND_MANAGEMENT_CAPABILITIES. Эта структура возвращается из запроса IOCTL_EHSTOR_BANDMGMT_QUERY_CAPABILITIES .

Новые метаданные, заданные для диапазона, включаются в системный буфер для запроса IOCTL_EHSTOR_BANDMGMT_SET_BAND_METADATA и соответствуют этой структуре в BufferOffset.

Требования

Требование Значение
Минимальная версия клиента Доступно, начиная с Windows 8
Верхняя часть ehstorbandmgmt.h (включая EhStorBandMgmt.h)

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

BAND_MANAGEMENT_CAPABILITIES

IOCTL_EHSTOR_BANDMGMT_QUERY_CAPABILITIES

IOCTL_EHSTOR_BANDMGMT_SET_BAND_METADATA