Partilhar via


Função WdfDeviceSetFailed (wdfdevice.h)

[Aplica-se a KMDF e UMDF]

O método WdfDeviceSetFailed informa à estrutura que o driver encontrou um erro de hardware ou software associado a um dispositivo especificado.

Sintaxe

void WdfDeviceSetFailed(
  [in] WDFDEVICE                Device,
  [in] WDF_DEVICE_FAILED_ACTION FailedAction
);

Parâmetros

[in] Device

Um identificador para um objeto de dispositivo de estrutura.

[in] FailedAction

Um enumerador tipo WDF_DEVICE_FAILED_ACTIONque indica se a estrutura deve tentar recarregar os drivers do dispositivo especificado.

Valor de retorno

Nenhum

Observações

Uma verificação de bug ocorre se o driver fornece um identificador de objeto inválido.

Se um driver encontrar um erro de hardware ou software irrecuperável, ele deverá chamar WdfDeviceSetFailed para que o sistema possa descarregar os drivers do dispositivo.

A partir do UMDF versão 2.15, um driver UMDF pode solicitar que o motorista de ônibus subjacente reenconheça-o chamando WdfDeviceSetFailed com FailedAction definido como WdfDeviceFailedAttemptRestart. O motorista do ônibus deve dar suporte à interface GUID_REENUMERATE_SELF_INTERFACE_STANDARD.

Como alternativa, um driver UMDF pode definir FailedAction para WdfDeviceFailedNoRestart.

Para obter mais informações sobre WdfDeviceSetFailed, consulte Reporting Device Failures.

Exemplos

O exemplo de código a seguir informa à estrutura que ocorreu uma falha. Se os drivers do dispositivo especificado não derem suporte a outros dispositivos, a estrutura descarregará os drivers e tentará recarregá-los.

WdfDeviceSetFailed(
                   device,
                   WdfDeviceFailedAttemptRestart
                   );

Requisitos

Requisito Valor
da Plataforma de Destino Universal
versão mínima do KMDF 1.0
versão mínima do UMDF 2.0
cabeçalho wdfdevice.h (inclua Wdf.h)
biblioteca Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <=DISPATCH_LEVEL
regras de conformidade de DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)