DEVICE_RESET_HANDLER función de devolución de llamada (wdm.h)
La rutina DeviceReset se usa para restablecer y recuperar un dispositivo que no funciona correctamente.
Sintaxis
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
Puntero a información de contexto específica de la interfaz. El autor de la llamada pasa el valor que se pasa como miembro Context de la estructura DEVICE_RESET_INTERFACE_STANDARD de la interfaz.
[in] ResetType
Tipo de restablecimiento que se solicita. Establezca este parámetro en uno de los siguientes valores de enumeración DEVICE_RESET_TYPE.
FunctionLevelDeviceReset. Especifique este valor para solicitar un restablecimiento de nivel de función, que está restringido a un dispositivo específico.
PlatformLevelDeviceReset. Especifique este valor para solicitar un restablecimiento de nivel de plataforma, lo que afecta a un dispositivo específico y a todos los demás dispositivos conectados a él a través de la misma línea de restablecimiento o raíl de alimentación.
Para obtener más información sobre cómo se implementan los restablecimientos de nivel de función y de nivel de plataforma en la pila de dispositivos, consulte Trabajar con el GUID_DEVICE_RESET_INTERFACE_STANDARD.
[in] Flags
Establecer en 0. Actualmente, no se definen marcas para esta rutina.
[in, optional] ResetParameters
Si el autor de la llamada solicita un restablecimiento de dispositivo de nivel de función, este parámetro opcional puede apuntar a una estructura de FUNCTION_LEVEL_DEVICE_RESET_PARAMETERS que especifica una rutina de devolución de llamada a la que se llama cuando se completa el restablecimiento.
Valor devuelto
Esta rutina devuelve STATUS_SUCCESS si la operación solicitada se realiza correctamente. De lo contrario, devuelve un código de error NTSTATUS adecuado.
Comentarios
Si un controlador de función detecta que el dispositivo no funciona correctamente, primero debe intentar un restablecimiento de nivel de función. Si un restablecimiento de nivel de función no corrige el problema, el controlador puede intentar un restablecimiento de nivel de plataforma más invasivo, pero solo se debe usar un restablecimiento de nivel de plataforma como opción final.
Se debe realizar un restablecimiento de nivel de función o un restablecimiento de nivel de plataforma en PASSIVE_LEVEL.
Para obtener más información sobre los restablecimientos de nivel de función y de plataforma, consulte Trabajar con el GUID_DEVICE_RESET_INTERFACE_STANDARD.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 10 |
Plataforma de destino | Escritorio |
Encabezado | wdm.h (incluya Wdm.h) |