IOCTL_EHSTOR_BANDMGMT_ENUMERATE_BANDS IOCTL (ehstorbandmgmt.h)
Essa solicitação IOCTL_EHSTOR_BANDMGMT_ENUMERATE_BANDS é enviada para recuperar a lista de faixas de um dispositivo de armazenamento em gerenciamento de banda. As informações de faixa são retornadas em uma tabela de entradas de banda que inclui o local da banda e as propriedades de segurança.
Código principal
Buffer de entrada
O buffer em Irp-AssociatedIrp.SystemBuffer> deve conter uma estrutura ENUMERATE_BANDS_PARAMETERS.
Comprimento do buffer de entrada
Parameters.DeviceIoControl.InputBufferLength indica o tamanho, em bytes, do buffer, que deve ser pelo menos sizeof (ENUMERATE_BANDS_PARAMETERS).
Buffer de saída
O buffer em Irp-AssociatedIrp.SystemBuffer> contém uma estrutura BAND_TABLE seguida por entradas de banda BandTableEntryCount.
Comprimento do buffer de saída
O comprimento de uma estrutura BAND_TABLE seguida por entradas de banda BandTableEntryCount .
Bloco de status
O campo Informações contém o número de bytes retornados no buffer de saída. Um dos valores a seguir pode ser retornado no campo Status .
Valor do status | Descrição |
---|---|
STATUS_SUCCESS | Os recursos de segurança no dispositivo de armazenamento foram desativados. |
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 | Nenhuma faixa é configurada para os parâmetros de enumeração fornecidos. |
STATUS_BUFFER_OVERFLOW | Um buffer não é fornecido ou seu tamanho definido como zero. O tamanho necessário é retornado no campo Informações . |
STATUS_IO_DEVICE_ERROR | Falha na comunicação. O dispositivo de armazenamento pode ser incompatível com protocolos de segurança. |
STATUS_BUFFER_TOO_SMALL | O buffer de saída fornecido não é grande o suficiente para manter os dados de saída retornados. |
Comentários
Um driver ou aplicativo pode consultar o tamanho do buffer de saída necessário definindo o buffer de saída da solicitação como NULL e o tamanho da saída como 0. A solicitação IOCTL_EHSTOR_BANDMGMT_ENUMERATE_BANDS retornará com o campo Status do bloco IoStatus definido como STATUS_BUFFER_OVERFLOW e o campo Informações conterá o tamanho do buffer necessário.
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
ENUMERATE_BANDS_PARAMETERS