Funzione IoSetHardErrorOrVerifyDevice (ntddk.h)

I driver di livello inferiore chiamano la routine IoSetHardErrorOrVerifyDevice per identificare un dispositivo multimediale rimovibile che ha rilevato un errore, in modo che un driver del file system possa richiedere all'utente di verificare che il supporto sia valido.

Sintassi

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

Parametri

[in] Irp

Puntatore all'IRP per cui il driver ha rilevato un errore indotto dall'utente.

[in] DeviceObject

Puntatore al dispositivo di destinazione da verificare per l'operazione di I/O.

Valore restituito

nessuno

Osservazioni

I driver di livello inferiore per i dispositivi multimediali di rimozione devono chiamare IoSetHardErrorOrVerifyDevice prima di completare un IRP, se una chiamata a IoIsErrorUserInduced restituisce TRUE. Per altre informazioni, vedere Supporto di supporti rimovibili.

Successivamente, un driver del file system userà le informazioni fornite nell'oggetto dispositivo specificato per inviare una finestra di dialogo all'utente, che può correggere l'errore e ripetere l'operazione o annullarla.

L'IRP passato a IoSetHardErrorOrVerifyDevice deve essere associato a un thread. Pertanto, prima che un driver chiami IoSetHardErrorOrVerifyDevice, deve verificare che irp-Tail.Overlay>. Il thread non è NULL. Se il valore è NULL, IoSetHardErrorOrVerifyDevice non deve essere chiamato usando l'IRP corrente. Al contrario, il driver deve controllare tutti i provider di integrazione ricevuti ed elaborati successivamente, fino a quando non viene ricevuto uno per il quale irp-Tail.Overlay>. Il thread non è NULL. A questo punto, è possibile chiamare IoSetHardErrorOrVerifyDevice .

Requisiti

Requisito Valore
Client minimo supportato Disponibile a partire da Windows 2000.
Piattaforma di destinazione Universale
Intestazione ntddk.h (include Ntddk.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <=DISPATCH_LEVEL

Vedi anche

IoIsErrorUserInduced

IoRaiseHardError

IoRaiseInformationalHardError