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
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) |