структура SET_BAND_SECURITY_PARAMETERS (ehstorbandmgmt.h)
Параметры для задания свойств безопасности для полосы на устройстве хранения для запроса IOCTL_EHSTOR_BANDMGMT_SET_BAND_SECURITY указываются в структуре SET_BAND_SECURITY_PARAMETERS.
Синтаксис
typedef struct _SET_BAND_SECURITY_PARAMETERS {
ULONG StructSize;
ULONG Flags;
ULONG Reserved;
ULONG BandId;
LARGE_INTEGER BandStart;
ULONG CurrentAuthKeyOffset;
ULONG NewAuthKeyOffset;
ULONG BandSecurityInfoOffset;
} SET_BAND_SECURITY_PARAMETERS, *PSET_BAND_SECURITY_PARAMETERS;
Члены
StructSize
Размер этой структуры в байтах. Задайте значение sizeof(SET_BAND_SECURITY_PARAMETERS).
Flags
Флаги параметров безопасности. Это значение является побитовой комбинацией ИЛИ следующего.
Ценность | Значение |
---|---|
|
Новый ключ проверки подлинности можно кэшировать для автоматизации некоторых операций полосы. |
Reserved
BandId
Идентификатор одной полосы для возврата сведений. BandSize должен иметь значение 0, если выбрана одна полоса с BandId. Использовать BandStart и BandSize вместо BandId выбрать группу, задайте BandId = (ULONG) –1.
BandStart
Начальное расположение байтов на устройстве хранилища, чтобы начать поиск по группе. Попытка сопоставить группу или после BandStart.
CurrentAuthKeyOffset
Смещение в байтах структуры AUTH_KEY, содержащей текущий ключ проверки подлинности для полосы. Этот ключ проверки подлинности является обязательным и должен присутствовать после этой структуры. Смещение от начала SET_BAND_SECURITY_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.
NewAuthKeyOffset
Смещение в байтах структуры AUTH_KEY, содержащей новый ключ проверки подлинности для полосы. Смещение от начала SET_BAND_SECURITY_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. Если NewAuthKeyOffset == CurrentAuthKeyOffset, ключ проверки подлинности для группы остается неизменным.
BandSecurityInfoOffset
Смещение в байтах структуры BAND_SECURITY_INFO. Смещение от начала SET_BAND_SECURITY_PARAMETERS.
Замечания
Приоритет присваивается BandID для выбора диапазона. Если BandID больше 0, а BandID меньше, чем maxBandCount члена BAND_MANAGEMENT_CAPABILITIES, то BandID используется в качестве единственного критерия выбора для сопоставления группы. Если BandID == –1, BandStart используется в качестве критерия соответствия для выбора группы. Если группа не соответствует ни одного критерию выбора, STATUS_INVALID_PARAMETER возвращается в блоке IoStatus для IOCTL_EHSTOR_BANDMGMT_SET_BAND_SECURITY.
Если BandID и BandStart имеют значение –1, то запрос IOCTL_EHSTOR_BANDMGMT_SET_BAND_SECURITY изменит свойства глобального диапазона.
NewAuthKeyOffset и BandSecurityInfoOffset являются необязательными в зависимости от требований операции. Если изменяется только ключ проверки подлинности, NewAuthKeyOffset устанавливается расположение структуры AUTH_KEY для нового ключа и BandSecurityInfoOffset равно нулю. Аналогичным образом, если изменяются только свойства безопасности, BandSecurityInfoOffset устанавливается в расположение BAND_SECURITY_INFO и NewAuthKeyOffset имеет значение 0.
CryptoAlgoIdType и CryptoAlgoOidString члены структуры BAND_SECURITY_INFO в BandSecurityInfoOffset не используются в запросе на создание группы и должны иметь значение 0.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно начиная с Windows 8 |
заголовка | ehstorbandmgmt.h (include EhStorBandMgmt.h) |