Partilhar via


DRIVER_PROXY_HOTSWAP_WORKER_ROUTINE função de retorno de chamada (wdm.h)

O retorno de chamada DRIVER_PROXY_HOTSWAP_WORKER_ROUTINE define uma rotina que é executada em um thread de trabalho com troca frequente criado por IoDriverProxyCreateHotSwappableWorkerThread.

Sintaxe

DRIVER_PROXY_HOTSWAP_WORKER_ROUTINE DriverProxyHotswapWorkerRoutine;

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

Parâmetros

WorkerContext

[in] Um ponteiro para informações de contexto definidas pelo driver que foram especificadas quando o thread de trabalho foi criado. Esse contexto é passado do campo Contexto da estrutura de DRIVER_PROXY_HOTSWAP_WORKER_ROUTINE_START_CONTEXT .

WaitStatus

[in] O status retornado da operação de espera. Isso indica por que o thread de trabalho foi despertado. Consulte KeWaitForMultipleObjects para obter possíveis valores de status de espera.

Valor de retorno

DRIVER_PROXY_HOTSWAP_WORKER_ROUTINE retorna um dos seguintes valores:

Valor de retorno Description
VERDADEIRO O thread de trabalho deve continuar em execução e aguardar novamente nos objetos especificados.
FALSE O thread de trabalho deve ser encerrado.

Observações

Esse retorno de chamada é invocado quando o thread de trabalho é ativado de esperar por objetos kernel. A rotina determina se o thread deve continuar em execução ou terminar.

Essa rotina de retorno de chamada é executada em PASSIVE_LEVEL no contexto de um thread de trabalho do sistema criado especificamente para operações de hot-swappable. O thread mantém o mesmo IRQL durante toda a execução (IRQL_requires_same).

A rotina de trabalho é chamada sempre que o thread acorda de esperar nos objetos kernel especificados na estrutura DRIVER_PROXY_HOTSWAP_WORKER_ROUTINE_START_CONTEXT . Com base no WaitStatus e no estado atual do driver, a rotina deve decidir se deseja continuar o processamento (retornar TRUE) ou encerrar o thread de trabalho (retornar FALSE).

A infraestrutura de thread de trabalho garante que o thread possa ser encerrado e recriado com segurança como parte das operações de hot-swap do driver, mantendo a estabilidade do sistema durante as atualizações do driver de runtime.

Requirements

Requirement Value
da Plataforma de Destino Universal
Header wdm.h
IRQL PASSIVE_LEVEL

Consulte também

IoDriverProxyCreateHotSwappableWorkerThread

DRIVER_PROXY_HOTSWAP_WORKER_ROUTINE_START_CONTEXT