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)

Consulte también

Trabajar con el GUID_DEVICE_RESET_INTERFACE_STANDARD

IRP_MN_QUERY_INTERFACE