Compartilhar via


Função IoSetHardErrorOrVerifyDevice (ntddk.h)

Os drivers de nível inferior chamam a rotina IoSetHardErrorOrVerifyDevice para identificar um dispositivo de mídia removível que encontrou um erro, para que um driver do sistema de arquivos possa solicitar que o usuário verifique se o meio é válido.

Sintaxe

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

Parâmetros

[in] Irp

Ponteiro para o IRP para o qual o driver encontrou um erro induzido pelo usuário.

[in] DeviceObject

Ponteiro para o dispositivo de destino a ser verificado para a operação de E/S.

Retornar valor

Nenhum

Comentários

Drivers de nível inferior para dispositivos de mídia de remoção devem chamar IoSetHardErrorOrVerifyDevice antes de concluir um IRP, se uma chamada para IoIsErrorUserInduced retornar TRUE. Para obter mais informações, consulte Suporte a mídia removível.

Posteriormente, um driver do sistema de arquivos usará as informações fornecidas no objeto de dispositivo especificado para enviar uma caixa de diálogo ao usuário, que pode corrigir o erro e repetir a operação ou cancelá-la.

O IRP passado para IoSetHardErrorOrVerifyDevice deve ser associado a um thread. Portanto, antes que um driver chame IoSetHardErrorOrVerifyDevice, ele deve verificar se irp-Tail.Overlay>. O thread não é NULL. Se o valor for NULL, IoSetHardErrorOrVerifyDevice não deverá ser chamado usando o IRP atual. Em vez disso, o driver deve marcar todos os IRPs recebidos e processados posteriormente, até que um seja recebido para o qual irp-Tail.Overlay>. O thread não é NULL. Nesse ponto, IoSetHardErrorOrVerifyDevice pode ser chamado.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível a partir do Windows 2000.
Plataforma de Destino Universal
Cabeçalho ntddk.h (inclua Ntddk.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <=DISPATCH_LEVEL

Confira também

IoIsErrorUserInduced

IoRaiseHardError

IoRaiseInformationalHardError