Condividi tramite


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 dati di richiesta per un dispositivo o funzionalità e limitazioni di un adattatore. IOCTL_STORAGE_QUERY_PROPERTY può essere usato anche per determinare se il driver della porta supporta una determinata proprietà o quali campi nel descrittore di proprietà possono essere modificati con una successiva richiesta di proprietà di modifica.

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 query sul dispositivo o sull'adattatore, sul tipo di query da eseguire e su eventuali parametri aggiuntivi necessari per la query, ad esempio il codice della pagina per una determinata pagina del 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 esiste una proprietà senza recuperarne 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 i dati di query nel buffer in corrispondenza di Irp->AssociatedIrp.SystemBuffer. È possibile aggiungere 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 richiesto dalla struttura.

Blocco di stato

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

Fabbisogno

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

Vedere anche

STORAGE_DESCRIPTOR_HEADER

STORAGE_PROPERTY_QUERY

STORAGE_RPMB_DATA_FRAME