Compartir a través de


DRIVER_PROXY_HOTSWAP_WORKER_ROUTINE función de devolución de llamada (wdm.h)

La devolución de llamada DRIVER_PROXY_HOTSWAP_WORKER_ROUTINE define una rutina que se ejecuta en un subproceso de trabajo intercambiable en caliente creado por IoDriverProxyCreateHotSwappableWorkerThread.

Syntax

DRIVER_PROXY_HOTSWAP_WORKER_ROUTINE DriverProxyHotswapWorkerRoutine;

BOOLEAN DriverProxyHotswapWorkerRoutine(
  PVOID WorkerContext,
  NTSTATUS WaitStatus
)
{...}

Parámetros

WorkerContext

[in] Puntero a la información de contexto definida por el controlador que se especificó cuando se creó el subproceso de trabajo. Este contexto se pasa desde el campo Contexto de la estructura DRIVER_PROXY_HOTSWAP_WORKER_ROUTINE_START_CONTEXT .

WaitStatus

[in] Estado devuelto de la operación de espera. Esto indica por qué se despertó el subproceso de trabajo. Consulte KeWaitForMultipleObjects para conocer los posibles valores de estado de espera.

Valor devuelto

DRIVER_PROXY_HOTSWAP_WORKER_ROUTINE devuelve uno de los siguientes valores:

Valor devuelto Description
TRUE El subproceso de trabajo debe continuar ejecutándose y esperar de nuevo en los objetos especificados.
FALSE El subproceso de trabajo debe finalizar.

Observaciones

Esta devolución de llamada se invoca cuando el subproceso de trabajo se reactiva desde la espera de objetos kernel. La rutina determina si el subproceso debe continuar ejecutándose o finalizar.

Esta rutina de devolución de llamada se ejecuta en PASSIVE_LEVEL en el contexto de un subproceso de trabajo del sistema creado específicamente para operaciones intercambiables en caliente. El subproceso mantiene el mismo IRQL a lo largo de su ejecución (IRQL_requires_same).

Se llama a la rutina de trabajo cada vez que el subproceso se reactiva desde la espera de los objetos de kernel especificados en la estructura DRIVER_PROXY_HOTSWAP_WORKER_ROUTINE_START_CONTEXT . En función de WaitStatus y el estado actual del controlador, la rutina debe decidir si desea continuar con el procesamiento (devolver TRUE) o finalizar el subproceso de trabajo (devolver FALSE).

La infraestructura de subprocesos de trabajo garantiza que el subproceso se pueda finalizar y volver a crear de forma segura como parte de las operaciones de intercambio frecuente del controlador, manteniendo la estabilidad del sistema durante las actualizaciones del controlador en tiempo de ejecución.

Requisitos

Requirement Importancia
de la plataforma de destino de Universal
Header wdm.h
irQL PASSIVE_LEVEL

Consulte también

IoDriverProxyCreateHotSwappableWorkerThread

DRIVER_PROXY_HOTSWAP_WORKER_ROUTINE_START_CONTEXT