Compartir a través de


Rutina InterpretRequestSense del controlador de clase de almacenamiento

Una rutina InterpretRequestSense interpreta los datos devueltos en senseInfoBuffer de SRB, determina si se debe reintentar la solicitud y, si no es así, asigna el error a un valor NTSTATUS para el bloque de estado de E/S del IRP.

El controlador de puerto del sistema indica si la información de detección de solicitudes está disponible estableciendo SRB_STATUS_AUTOSENSE_VALID o SRB_STATUS_REQUEST_SENSE_FAILED en SrbStatus.

Si no hay información de detección de solicitudes disponible, InterpretRequestSense debe comprobar el valor de SrbStatus para determinar si se debe reintentar una solicitud determinada o determinar una asignación adecuada a un valor NTSTATUS.

La rutina InterpretRequestSense también puede llamar a una rutina de registro de errores proporcionada por el controlador. Cada vez que un controlador de clase de almacenamiento registra un error de E/S, debe incluir los valores PathId, TargetId, Lun y SrbStatus establecidos por el controlador de puerto de almacenamiento en la SRB y, si es posible, la información pertinente de detección de solicitudes como parte de dumpData de la entrada del registro de errores. Tenga en cuenta que un controlador de clase de almacenamiento no debe usar pathId, TargetId y Lun de dichos SRB para abordar otras solicitudes.

Para obtener más información sobre los errores de E/S de registro, vea Errores de registro.