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 do tipo WDF_DEVICE_FAILED_ACTION que indica se a estrutura deve tentar recarregar os drivers do dispositivo especificado.
Retornar valor
Nenhum
Comentários
Um bug marcar ocorrerá se o driver fornecer 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 driver de barramento subjacente o reenumere chamando WdfDeviceSetFailed com FailedAction definido como WdfDeviceFailedAttemptRestart. O motorista do barramento deve dar suporte à interface GUID_REENUMERATE_SELF_INTERFACE_STANDARD .
Como alternativa, um driver UMDF pode definir FailedAction como WdfDeviceFailedNoRestart.
Para obter mais informações sobre WdfDeviceSetFailed, consulte Relatando falhas de dispositivo.
Exemplos
O exemplo de código a seguir informa à estrutura que ocorreu uma falha. Se os drivers do dispositivo especificado não forem compatíveis com outros dispositivos, a estrutura descarregará os drivers e tentará recarregá-los.
WdfDeviceSetFailed(
device,
WdfDeviceFailedAttemptRestart
);
Requisitos
Requisito | Valor |
---|---|
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) |