Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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 |