IOCTL_STORAGE_QUERY_PROPERTY IOCTL (ntddstor.h)

Un driver può usare IOCTL_STORAGE_QUERY_PROPERTY per restituire le proprietà di un dispositivo di archiviazione o di un adattatore. La richiesta indica il tipo di informazioni da recuperare, ad esempio i dati di richiesta per un dispositivo o funzionalità e limitazioni di un adattatore. IOCTL_STORAGE_QUERY_PROPERTY può essere utilizzato anche per determinare se il driver della porta supporta una proprietà specifica o quali campi nel descrittore di proprietà possono essere modificati con una richiesta di modifica successiva.

Codice principale

IRP_MJ_DEVICE_CONTROL

Buffer di input

Parameters.DeviceIoControl.InputBufferLength indica le dimensioni, in byte, del buffer dei parametri in Irp-AssociatedIrp.SystemBuffer>, che deve essere >= sizeof(STORAGE_PROPERTY_QUERY).

Irp->AssociatedIrp.SystemBuffer contiene STORAGE_PROPERTY_QUERY dati che specificano se eseguire una query sul dispositivo o sull'adattatore, il tipo di query da eseguire e gli eventuali parametri aggiuntivi necessari per la query, ad esempio il codice della pagina per una determinata pagina di rilevamento della modalità SCSI. Le proprietà del dispositivo devono essere recuperate solo da un dispositivo; il tentativo di recuperare le proprietà del dispositivo da un adattatore genererà un errore.

Parameters.DeviceIoControl.OutputBufferLength indica il numero di byte che è possibile scrivere in Irp-AssociatedIrp.SystemBuffer>. OutputBufferLength può essere zero per determinare se una proprietà esiste senza recuperare i dati.

Lunghezza del buffer di input

Parameters.DeviceIoControl.InputBufferLength indica le dimensioni, in byte, del buffer dei parametri in Irp-AssociatedIrp.SystemBuffer>, che deve essere >= sizeof(STORAGE_PROPERTY_QUERY).

Buffer di output

Il driver restituisce dati di query al buffer in Irp-AssociatedIrp.SystemBuffer>. È possibile accodare alla struttura quantità variabili di dati specifici del bus.

Lunghezza del buffer di output

Eseguire il cast della struttura restituita a un STORAGE_DESCRIPTOR_HEADER e controllarne il membro Size per determinare il numero di byte effettivamente richiesti dalla struttura.

Blocco dello stato

Il campo Informazioni viene impostato sul numero di byte restituiti. Il campo Stato è impostato su STATUS_SUCCESS o su STATUS_INVALID_DEVICE_REQUEST, STATUS_INVALID_PARAMETER o STATUS_NOT_SUPPORTED.

Requisiti

Requisito Valore
Intestazione ntddstor.h (include Ntddstor.h)

Vedi anche

STORAGE_DESCRIPTOR_HEADER

STORAGE_PROPERTY_QUERY

STORAGE_RPMB_DATA_FRAME