IOCTL_SCSI_GET_INQUIRY_DATA IOCTL (ntddscsi.h)
Devuelve los datos de consulta SCSI para todos los dispositivos de un adaptador de bus de host SCSI determinado (HBA). Si el IOCTL se emplea en el espacio de usuario, el programa debe haber abierto un identificador para el HBA, que se puede enumerar por varios medios, como las llamadas a SetupDixxx. Puede usar IOCTL_STORAGE_QUERY_PROPERTY para encontrar información sobre un dispositivo específico en el HBA. Para determinar el tamaño del búfer de salida necesario, el autor de la llamada debe enviar esta solicitud IOCTL en un bucle. Cada vez que la pila de almacenamiento rechaza el IOCTL con un mensaje de error que indica que el búfer era demasiado pequeño, el autor de la llamada debe duplicar el tamaño del búfer.
Código principal
Búfer de entrada
Ninguno.
Longitud del búfer de entrada
Ninguno.
Búfer de salida
El búfer de Irp-AssociatedIrp.SystemBuffer> contiene los datos de consulta devueltos. Para obtener una descripción del diseño de los datos de consulta en el búfer de salida, consulte SCSI_ADAPTER_BUS_INFO.
Longitud del búfer de salida
Parameters.DeviceIoControl.OutputBufferLength indica el tamaño, en bytes, del búfer, que debe ser >= (sizeof(SCSI_ADAPTER_BUS_INFO) + (NumberOfBuses) * sizeof(SCSI_BUS_DATA)) + (InquiryDataSize * NumberOfLUs), donde InquiryDataSize es (sizeof(SCSI_INQUIRY_DATA) - 1 + INQUIRYDATABUFFERSIZE) redondeado hasta un límite de alineación.
Bloque de estado
El campo Información contiene el número de bytes devueltos en el búfer de salida. El campo Estado indica los resultados de la operación.
Requisitos
Requisito | Valor |
---|---|
Header | ntddscsi.h (incluya Ntddscsi.h) |