Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A enumeração DRIVER_PROXY_REGISTER_CALLBACK_PHASE define as diferentes fases durante as quais um retorno de chamada DRIVER_PROXY_REGISTER_CALLBACK pode ser invocado durante o registro de ponto de extremidade ou operações de hot-swap.
Sintaxe
typedef enum _DRIVER_PROXY_REGISTER_CALLBACK_PHASE {
DriverProxyRegisterCallbackPreProcess,
DriverProxyRegisterCallbackProxyStalled,
DriverProxyRegisterCallbackPostProcess,
DriverProxyRegisterCallbackMax
} DRIVER_PROXY_REGISTER_CALLBACK_PHASE, *PDRIVER_PROXY_REGISTER_CALLBACK_PHASE;
Constants
DriverProxyRegisterCallbackPreProcessIndica a fase de pré-processamento. O retorno de chamada é invocado antes de qualquer alternância de função de ponto de extremidade começar, permitindo que o driver execute operações de preparação, como adquirir bloqueios, salvar o estado ou notificar outros componentes da alteração iminente. |
DriverProxyRegisterCallbackProxyStalledIndica a fase paralisada do proxy. O retorno de chamada é invocado enquanto todas as chamadas para pontos de extremidade registrados são bloqueadas (paralisadas). Durante essa fase, o sistema DriverProxy adquiriu o bloqueio de rundown e nenhuma nova chamada para funções de ponto de extremidade continuará. Esse é o momento mais seguro para o driver executar operações que exigem acesso exclusivo aos recursos que podem ser acessados por funções de ponto de extremidade. |
DriverProxyRegisterCallbackPostProcessIndica a fase pós-processamento. O retorno de chamada é invocado depois que a alternância de função de ponto de extremidade é concluída e a operação normal é retomada. Isso permite que o driver execute operações de limpeza, bloqueios de versão, estado de atualização ou notificar outros componentes que a operação de hot-swap concluiu. |
DriverProxyRegisterCallbackMaxValor máximo para a enumeração. Esse valor não é usado como uma fase de retorno de chamada e é reservado para fins de validação interna. |
Observações
Essa enumeração é usada por IoRegisterDriverProxyEndpoints para indicar qual fase do processo de registro está sendo executada no momento quando o retorno de chamada DRIVER_PROXY_REGISTER_CALLBACK é invocado.
As fases de retorno de chamada ocorrem em uma sequência específica durante o registro de ponto de extremidade ou operações de hot-swap:
- DriverProxyRegisterCallbackPreProcess: chamado antes de qualquer alternância de função começar.
- DriverProxyRegisterCallbackProxyStalled: Chamado enquanto todas as chamadas de ponto de extremidade são bloqueadas.
- DriverProxyRegisterCallbackPostProcess: chamado após a conclusão da alternância de função.
Cada fase serve a uma finalidade diferente na operação de hot-swap:
- A fase de Pré-Processamento permite que os drivers se preparem para a próxima alteração.
- A fase ProxyStalled fornece acesso exclusivo quando as chamadas de ponto de extremidade são bloqueadas.
- A fase PostProcess permite que os drivers limpem após a conclusão da alteração.
O retorno de chamada deve retornar STATUS_SUCCESS para que a operação continue. Se qualquer fase de retorno de chamada retornar um status de falha, toda a operação de registro falhará e quaisquer alterações parciais serão revertidas.
Requirements
| Requirement | Value |
|---|---|
| Header | wdm.h |
Consulte também
DRIVER_PROXY_REGISTER_CALLBACK