Compartilhar via


IOCTL_EHSTOR_BANDMGMT_SET_BAND_SECURITY IOCTL (ehstorbandmgmt.h)

As propriedades de segurança de bandas em um dispositivo de armazenamento gerenciado por banda são modificadas com a solicitação IOCTL_EHSTOR_BANDMGMT_SET_BAND_SECURITY.

Código principal

IRP_MJ_DEVICE_CONTROL

Buffer de entrada

O buffer em > AssociatedIrp.SystemBuffer deve conter uma estrutura de SET_BAND_SECURITY_PARAMETERS seguida pelas estruturas AUTH_KEY e BAND_SECURITY_INFO.

Se o AuthKeyOffset membro do SET_BAND_SECURITY_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. Além disso, se uma nova chave de autenticação não for fornecida, nenhuma estrutura de chave atualizada será incluída.

Comprimento do buffer de entrada

Parameters.DeviceIoControl.InputBufferLength indica o tamanho, em bytes, do buffer, que deve ter pelo menos tamanho de (SET_BAND_SECURITY_PARAMETERS) + 2 * tamanhos de(AUTH_KEY) + tamanhos de(BAND_SECURITY_INFO) quando todas as estruturas de entrada são necessárias.

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 do.

Valor do status Descrição
STATUS_SUCCESS As propriedades de segurança 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 Uma 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.

Observações

O bloqueio de leitura e gravação e o desbloqueio para bandas são definidos com esse IOCTL na estrutura de BAND_SECURITY_INFO incluída como entrada no buffer do sistema.

As alterações de chave de autenticação não afetarão o estado de bloqueio da banda. Não é necessário desmontar um volume para alterar uma chave de autenticação com essa solicitação.

Quando uma banda é desbloqueada, o que significa que o Readlock ou membros do WriteLock de BAND_SECURITY_INFO são FALSE, o driver de silo armazenará em cache a chave de autenticação fornecida se SETBANDSEC_AUTHKEY_CACHING_ENABLED estiver definido no Flags membro do SET_BAND_SECURITY_PARAMETERS.

Como um caso especial, esse IOCTL pode ser usado para notificar o driver de silo de que uma banda foi desbloqueada sem o uso dos membros de bloqueio no BAND_SECURITY_INFO. Para fazer isso, o membro NewAuthKeyOffset do SET_BAND_SECURITY_PARAMETERS está definido como CurrentAuthKeyOffset com BandSecurityInfoOffset definido como 0. Nesse caso, nenhuma alteração de segurança ocorre, mas a chave fornecida em CurrentAuthKeyOffset é armazenada em cache na memória, desde que SETBANDSEC_AUTHKEY_CACHING_ENABLED seja definida em Flags.

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.

Requisitos

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

Consulte também

BAND_SECURITY_INFO

IOCTL_EHSTOR_BANDMGMT_DELETE_BAND

SET_BAND_SECURITY_PARAMETERS