Compartir a través de


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, 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 riel 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 Working with the GUID_DEVICE_RESET_INTERFACE_STANDARD.

[in] Flags

Establezca 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.

Observaciones

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 un restablecimiento de nivel de plataforma solo se debe usar 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 nivel de plataforma, consulte Working with the GUID_DEVICE_RESET_INTERFACE_STANDARD.

Requisitos

Requisito Valor
cliente mínimo admitido Windows 10
de la plataforma de destino de Escritorio
encabezado de wdm.h (incluya Wdm.h)

Consulte también

Trabajar con el GUID_DEVICE_RESET_INTERFACE_STANDARD

IRP_MN_QUERY_INTERFACE