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