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


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

Размер ключа (в байтах) данных ключа в разделе Ключ. Если параметр 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

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

Ключ

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

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

BandSecurityInfoOffset

Смещение структуры BAND_SECURITY_INFO в байтах. Смещение от начала SET_BAND_SECURITY_PARAMETERS.

Комментарии

Приоритет присваивается BandID для выбора полосы. Если bandID больше 0, а BandID меньше, чем член MaxBandCountBAND_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 (включая EhStorBandMgmt.h)

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

BAND_LOCATION_INFO

BAND_MANAGEMENT_CAPABILITIES

IOCTL_EHSTOR_BANDMGMT_SET_BAND_LOCATION