структура 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) |