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


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

Флаги параметров безопасности. Это значение является побитовой комбинацией ИЛИ следующего.

Ценность Значение
SETBANDSEC_AUTHKEY_CACHING_ENABLED
Новый ключ проверки подлинности можно кэшировать для автоматизации некоторых операций полосы.

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)

См. также

BAND_LOCATION_INFO

BAND_MANAGEMENT_CAPABILITIES

IOCTL_EHSTOR_BANDMGMT_SET_BAND_LOCATION