Compartilhar via


IOCTL_STORAGE_QUERY_PROPERTY IOCTL (ntddstor.h)

Um driver pode usar IOCTL_STORAGE_QUERY_PROPERTY para retornar propriedades de um dispositivo de armazenamento ou adaptador. A solicitação indica o tipo de informação a ser recuperada, como dados de consulta para um dispositivo ou recursos e limitações de um adaptador. IOCTL_STORAGE_QUERY_PROPERTY também pode ser usado para determinar se o driver de porta dá suporte a uma propriedade específica ou quais campos no descritor de propriedade podem ser modificados com uma solicitação de propriedade de alteração subsequente.

Código principal

IRP_MJ_DEVICE_CONTROL

Buffer de entrada

Parameters.DeviceIoControl.InputBufferLength indica o tamanho, em bytes, do buffer de parâmetro em Irp-AssociatedIrp.SystemBuffer>, que deve ser >= sizeof(STORAGE_PROPERTY_QUERY).

Irp->AssociatedIrp.SystemBuffer contém STORAGE_PROPERTY_QUERY dados que especificam se o dispositivo ou o adaptador deve ser consultado, o tipo de consulta a ser executado e quaisquer parâmetros adicionais necessários para a consulta, como o código de página para uma página de sensor de modo SCSI específica. As propriedades do dispositivo devem ser recuperadas somente de um dispositivo; tentar recuperar propriedades do dispositivo de um adaptador causará um erro.

Parameters.DeviceIoControl.OutputBufferLength indica o número de bytes que podem ser gravados em Irp-AssociatedIrp.SystemBuffer>. OutputBufferLength pode ser zero para determinar se uma propriedade existe sem recuperar seus dados.

Comprimento do buffer de entrada

Parameters.DeviceIoControl.InputBufferLength indica o tamanho, em bytes, do buffer de parâmetro em Irp-AssociatedIrp.SystemBuffer>, que deve ser >= sizeof(STORAGE_PROPERTY_QUERY).

Buffer de saída

O driver retorna dados de consulta para o buffer em Irp-AssociatedIrp.SystemBuffer>. Quantidades variadas de dados específicos do barramento podem ser acrescentadas à estrutura .

Comprimento do buffer de saída

Converta a estrutura retornada para um STORAGE_DESCRIPTOR_HEADER e marcar seu membro Size para determinar o número de bytes que a estrutura realmente requer.

Bloco de status

O campo Informações é definido como o número de bytes retornados. O campo Status é definido como STATUS_SUCCESS ou possivelmente como STATUS_INVALID_DEVICE_REQUEST, STATUS_INVALID_PARAMETER ou STATUS_NOT_SUPPORTED.

Requisitos

Requisito Valor
Cabeçalho ntddstor.h (inclua Ntddstor.h)

Confira também

STORAGE_DESCRIPTOR_HEADER

STORAGE_PROPERTY_QUERY

STORAGE_RPMB_DATA_FRAME