estrutura SET_BAND_SECURITY_PARAMETERS (ehstorbandmgmt.h)

Os parâmetros para definir propriedades de segurança para uma faixa em um dispositivo de armazenamento para uma solicitação de IOCTL_EHSTOR_BANDMGMT_SET_BAND_SECURITY são especificados em uma estrutura SET_BAND_SECURITY_PARAMETERS .

Sintaxe

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;

Membros

StructSize

O tamanho dessa estrutura em bytes. Defina como sizeof(SET_BAND_SECURITY_PARAMETERS).

Flags

Sinalizadores de parâmetro de segurança. Esse valor é uma combinação OR bit a bit do seguinte.

Valor Significado
SETBANDSEC_AUTHKEY_CACHING_ENABLED
A nova chave de autenticação pode ser armazenada em cache para automatizar algumas operações de banda.

Reserved

BandId

O identificador de uma única banda para a qual retornar informações. BandSize deve ser 0 quando uma única banda é selecionada com BandId. Para usar BandStart e BandSize em vez de BandId para selecionar uma banda, defina BandId = (ULONG) –1.

BandStart

O local de byte inicial no dispositivo de armazenamento para iniciar uma pesquisa de banda. É feita uma tentativa de corresponder a uma banda em ou após o BandStart.

CurrentAuthKeyOffset

O deslocamento, em bytes, de uma estrutura AUTH_KEY que contém a chave de autenticação atual para a banda. Essa chave de autenticação é necessária e deve estar presente seguindo essa estrutura. O deslocamento é do início do SET_BAND_SECURITY_PARAMETERS. AUTH_KEY é declarado em ehstorbandmgmt.h como o seguinte.

typedef struct _AUTH_KEY
{
    ULONG   KeySize;
    UCHAR   Key[ANYSIZE_ARRAY];
} AUTH_KEY;

KeySize

O tamanho da chave, em bytes, dos dados de chave em Key. Se KeySize for definido como 0, uma chave padrão será usada.

Chave

Uma matriz de bytes de comprimento variável que contém os dados de chave.

Para especificar uma chave de autenticação padrão para a banda, defina AuthKeyOffset = EHSTOR_BANDMGR_NO_KEY.

NewAuthKeyOffset

O deslocamento, em bytes, de uma estrutura AUTH_KEY que contém a nova chave de autenticação para a banda. O deslocamento é do início do SET_BAND_SECURITY_PARAMETERS. AUTH_KEY é declarado em ehstorbandmgmt.h como o seguinte.

typedef struct _AUTH_KEY
{
    ULONG   KeySize;
    UCHAR   Key[ANYSIZE_ARRAY];
} AUTH_KEY;

KeySize

O tamanho da chave, em bytes, dos dados de chave em Key. Se KeySize for definido como 0, uma chave padrão será usada.

Chave

Uma matriz de bytes de comprimento variável que contém os dados de chave.

Para atribuir uma chave de autenticação padrão à banda, defina AuthKeyOffset = EHSTOR_BANDMGR_NO_KEY. Se NewAuthKeyOffset == CurrentAuthKeyOffset, a chave de autenticação da banda permanecerá inalterada.

BandSecurityInfoOffset

O deslocamento, em bytes, de uma estrutura BAND_SECURITY_INFO . O deslocamento é do início do SET_BAND_SECURITY_PARAMETERS.

Comentários

A precedência é dada a BandID para seleção de banda. Se BandID for maior que 0 e BandID for menor que o membro MaxBandCount do BAND_MANAGEMENT_CAPABILITIES, o BandID será usado como os únicos critérios de seleção para uma correspondência de banda. Se BandID == –1, o BandStart será usado como critério de correspondência para selecionar uma banda. Se nenhuma faixa corresponder a nenhum dos critérios de seleção, STATUS_INVALID_PARAMETER será retornado no bloco IoStatus para IOCTL_EHSTOR_BANDMGMT_SET_BAND_SECURITY.

Se BandID e BandStart estiverem definidos como –1, a solicitação IOCTL_EHSTOR_BANDMGMT_SET_BAND_SECURITY alterará as propriedades da banda global.

NewAuthKeyOffset e BandSecurityInfoOffset são opcionais dependendo dos requisitos da operação. Se apenas a chave de autenticação for alterada, NewAuthKeyOffset será definido como o local da estrutura de AUTH_KEY para a nova chave e BandSecurityInfoOffset será definido como zero. Da mesma forma, se apenas as propriedades de segurança forem alteradas, BandSecurityInfoOffset será definido como o local de BAND_SECURITY_INFO e NewAuthKeyOffset será definido como 0.

Os membros CryptoAlgoIdType e CryptoAlgoOidString da estrutura BAND_SECURITY_INFO em BandSecurityInfoOffset não são usados em uma solicitação de criação de banda e devem ser definidos como 0.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível a partir do Windows 8
Cabeçalho ehstorbandmgmt.h (inclua EhStorBandMgmt.h)

Confira também

BAND_LOCATION_INFO

BAND_MANAGEMENT_CAPABILITIES

IOCTL_EHSTOR_BANDMGMT_SET_BAND_LOCATION