IOCTL_EHSTOR_BANDMGMT_SET_BAND_LOCATION IOCTL (ehstorbandmgmt.h)

As propriedades de localização de faixas em um dispositivo de armazenamento gerenciado por banda são modificadas com a solicitação IOCTL_EHSTOR_BANDMGMT_SET_BAND_LOCATION .

Código principal

IRP_MJ_DEVICE_CONTROL

Buffer de entrada

O buffer em Irp-AssociatedIrp.SystemBuffer> deve conter uma estrutura de SET_BAND_LOCATION_PARAMETERS seguida pelas estruturas AUTH_KEY e BAND_LOCATION_INFO.

Se o membro AuthKeyOffset do SET_BAND_LOCATION_PARAMETERS estiver definido como EHSTOR_BANDMGR_NO_KEY, os dados de entrada no buffer do sistema não precisarão incluir uma estrutura de AUTH_KEY .

Comprimento do buffer de entrada

Parameters.DeviceIoControl.InputBufferLength indica o tamanho, em bytes, do buffer, que deve ser pelo menos sizeof (SET_BAND_LOCATION_PARAMETERS) + sizeof(AUTH_KEY) + sizeof(BAND_LOCATION_INFO).

Buffer de saída

Nenhum.

Comprimento do buffer de saída

Nenhum.

Bloco de status

Um dos valores a seguir pode ser retornado no campo Status .

Valor do Status Descrição
STATUS_SUCCESS As propriedades de localização da banda foram alteradas.
STATUS_INVALID_DEVICE_REQUEST O dispositivo de armazenamento não dá suporte ao gerenciamento de banda.
STATUS_INVALID_BUFFER_SIZE O tamanho do buffer de entrada é inválido.
STATUS_INVALID_PARAMETER As informações no buffer de entrada são inválidas.
STATUS_NOT_FOUND A banda não foi encontrada para os critérios de seleção fornecidos.
STATUS_ACCESS_DENIED A chave de autenticação fornecida não é válida.
STATUS_IO_DEVICE_ERROR Falha na comunicação. O dispositivo de armazenamento pode ser incompatível com protocolos de segurança.

Comentários

Os dados em LBAs que permanecem após o redimensionamento não são modificados pela operação. Além disso, é desnecessário desmontar um volume durante uma operação de redimensionamento se o intervalo LBA que abrange o volume permanecer dentro da banda após o redimensionamento.

As alterações feitas na tabela de banda por essa solicitação são confirmadas no dispositivo atomicamente antes da conclusão da solicitação IOCTL. Portanto, é garantido que a banda seja modificada com todas as suas propriedades definidas ou nenhuma propriedade definida caso ocorra uma falha de energia ou sistema.

O membro BandSize do BAND_LOCATION_INFO deve ser maior que 0. Este IOCTL não pode redimensionar uma banda para 0 para causar uma exclusão de banda. Para excluir uma banda, a solicitação IOCTL_EHSTOR_BANDMGMT_DELETE_BAND é usada.

Se BAND_LOCATION_INFO especificar propriedades para a banda global, BandStart deverá ser definido como 0 e BandSize deverá ser definido como –1.

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

IOCTL_EHSTOR_BANDMGMT_DELETE_BAND

SET_BAND_LOCATION_PARAMETERS