IOCTL_SCSI_GET_INQUIRY_DATA IOCTL (ntddscsi.h)
Restituisce i dati di richiesta SCSI per tutti i dispositivi in una determinata scheda bus host SCSI (HBA). Se l'IOCTL viene utilizzato nello spazio utente, il programma deve avere aperto un handle per l'HBA, che può essere enumerato in vari modi, ad esempio le chiamate SetupDixxx. È possibile usare IOCTL_STORAGE_QUERY_PROPERTY per trovare informazioni su un dispositivo specifico nell'HBA. Per determinare le dimensioni del buffer di output necessario, il chiamante deve inviare questa richiesta IOCTL in un ciclo. Ogni volta che lo stack di archiviazione rifiuta IOCTL con un messaggio di errore che indica che il buffer era troppo piccolo, il chiamante deve raddoppiare le dimensioni del buffer.
Codice principale
Buffer di input
Nessuno.
Lunghezza del buffer di input
Nessuno.
Buffer di output
Il buffer in Irp-AssociatedIrp.SystemBuffer> contiene i dati di richiesta restituiti. Per una descrizione del layout dei dati di richiesta nel buffer di output, vedere SCSI_ADAPTER_BUS_INFO.
Lunghezza del buffer di output
Parameters.DeviceIoControl.OutputBufferLength indica le dimensioni, in byte, del buffer, che deve essere >= (sizeof(SCSI_ADAPTER_BUS_INFO) + (NumberOfBuses) * sizeof(SCSI_BUS_DATA)) + (InquiryDataSize * NumberOfLUs), dove La proprietà InquiryDataSize è (sizeof(SCSI_INQUIRY_DATA) - 1 + INQUIRYDATABUFFERSIZE) arrotondata a un limite di allineamento.
Blocco dello stato
Il campo Informazioni contiene il numero di byte restituiti nel buffer di output. Il campo Stato indica i risultati dell'operazione.
Requisiti
Requisito | Valore |
---|---|
Intestazione | ntddscsi.h (include Ntddscsi.h) |