DEVICE_RESET_HANDLER função de retorno de chamada (wdm.h)
A rotina DeviceReset é usada para redefinir e recuperar um dispositivo com defeito.
Sintaxe
DEVICE_RESET_HANDLER DeviceResetHandler;
NTSTATUS DeviceResetHandler(
[in] PVOID InterfaceContext,
[in] DEVICE_RESET_TYPE ResetType,
[in] ULONG Flags,
[in, optional] PVOID ResetParameters
)
{...}
Parâmetros
[in] InterfaceContext
Um ponteiro para informações de contexto específicas da interface. O chamador passa o valor que é passado como o Context membro da estrutura DEVICE_RESET_INTERFACE_STANDARD da interface.
[in] ResetType
O tipo de redefinição que está sendo solicitado. Defina esse parâmetro como um dos seguintes valores de enumeração DEVICE_RESET_TYPE.
FunctionLevelDeviceReset . Especifique esse valor para solicitar uma redefinição no nível da função, que é restrita a um dispositivo específico.
PlatformLevelDeviceReset. Especifique esse valor para solicitar uma redefinição no nível da plataforma, que afeta um dispositivo específico e todos os outros dispositivos que estão conectados a ele por meio do mesmo power rail ou linha de redefinição.
Para obter mais informações sobre como as redefinições no nível da função e no nível da plataforma são implementadas na pilha de dispositivos, consulte Trabalhando com o GUID_DEVICE_RESET_INTERFACE_STANDARD.
[in] Flags
Definido como 0. Atualmente, nenhum sinalizador é definido para essa rotina.
[in, optional] ResetParameters
Se o chamador estiver solicitando uma redefinição de dispositivo no nível da função, esse parâmetro opcional poderá apontar para uma estrutura FUNCTION_LEVEL_DEVICE_RESET_PARAMETERS que especifica uma rotina de retorno de chamada que é chamada quando a redefinição é concluída.
Valor de retorno
Essa rotina retornará STATUS_SUCCESS se a operação solicitada for bem-sucedida. Caso contrário, ele retornará um código de erro NTSTATUS apropriado.
Observações
Se um driver de função detectar que o dispositivo não está funcionando corretamente, ele deve primeiro tentar uma redefinição no nível da função. Se uma redefinição no nível de função não corrigir o problema, o driver poderá tentar uma redefinição mais invasiva no nível da plataforma, mas uma redefinição no nível da plataforma só deve ser usada como a opção final.
Uma redefinição no nível da função ou uma redefinição no nível da plataforma deve ser executada em PASSIVE_LEVEL.
Para obter mais informações sobre redefinições no nível da função e no nível da plataforma, consulte Trabalhando com o GUID_DEVICE_RESET_INTERFACE_STANDARD.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows 10 |
da Plataforma de Destino | Área de trabalho |
cabeçalho | wdm.h (inclua Wdm.h) |