Compartir a través de


Función IoSetHardErrorOrVerifyDevice (ntddk.h)

Los controladores de nivel inferior llaman a la rutina IoSetHardErrorOrVerifyDevice para identificar un dispositivo multimedia extraíble que ha encontrado un error, de modo que un controlador del sistema de archivos pueda pedir al usuario que compruebe que el medio es válido.

Sintaxis

void IoSetHardErrorOrVerifyDevice(
  [in] PIRP           Irp,
  [in] PDEVICE_OBJECT DeviceObject
);

Parámetros

[in] Irp

Puntero al IRP para el que el controlador encontró un error provocado por el usuario.

[in] DeviceObject

Puntero al dispositivo de destino que se va a comprobar para la operación de E/S.

Valor devuelto

None

Observaciones

Los controladores de nivel inferior para los dispositivos multimedia de eliminación deben llamar a IoSetHardErrorOrVerifyDevice antes de completar un IRP, si una llamada a IoIsErrorUserInduced devuelve TRUE. Para obtener más información, vea Compatibilidad con medios extraíbles.

Posteriormente, un controlador del sistema de archivos usará la información proporcionada en el objeto de dispositivo especificado para enviar un cuadro de diálogo al usuario, que puede corregir el error y volver a intentar la operación o cancelarla.

El IRP pasado a IoSetHardErrorOrVerifyDevice debe estar asociado a un subproceso. Por lo tanto, antes de que un controlador llame a IoSetHardErrorOrVerifyDevice, debe comprobar que irp-Tail.Overlay>. El subproceso no es NULL. Si el valor es NULL, no se debe llamar a IoSetHardErrorOrVerifyDevice mediante el IRP actual. En su lugar, el controlador debe comprobar todos los IRP recibidos y procesados posteriormente, hasta que se reciba uno para el que irp-Tail.Overlay>. El subproceso no es NULL. En ese momento, se puede llamar a IoSetHardErrorOrVerifyDevice .

Requisitos

Requisito Value
Cliente mínimo compatible Disponible a partir de Windows 2000.
Plataforma de destino Universal
Encabezado ntddk.h (incluya Ntddk.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL <=DISPATCH_LEVEL

Consulte también

IoIsErrorUserInduced

IoRaiseHardError

IoRaiseInformationalHardError