структура 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
Размер ключа в байтах данных ключа в Key. Если для KeySize задано значение 0, используется ключ по умолчанию.
Ключ
Массив байтов переменной длины, содержащий ключевые данные.
Чтобы указать ключ проверки подлинности по умолчанию для полосы, задайте AuthKeyOffset = EHSTOR_BANDMGR_NO_KEY.
Замечания
Приоритет присваивается BandID для выбора диапазона. Если BandID больше 0, а BandID меньше, чем maxBandCount члена BAND_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 задает метаданные для глобального диапазона.
Размер хранилища метаданных группы находится в элементе BandMetadataSize элемента BAND_MANAGEMENT_CAPABILITIES. Эта структура возвращается из запроса IOCTL_EHSTOR_BANDMGMT_QUERY_CAPABILITIES.
Новые метаданные, заданные для полосы, включены в системный буфер запроса IOCTL_EHSTOR_BANDMGMT_SET_BAND_METADATA и соответствуют этой структуре в BufferOffset.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно начиная с Windows 8 |
заголовка | ehstorbandmgmt.h (include EhStorBandMgmt.h) |