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 enumeración DRIVER_PROXY_REGISTER_CALLBACK_PHASE define las distintas fases durante las que se puede invocar una devolución de llamada DRIVER_PROXY_REGISTER_CALLBACK durante el registro del punto de conexión o las operaciones de intercambio frecuente.
Syntax
typedef enum _DRIVER_PROXY_REGISTER_CALLBACK_PHASE {
DriverProxyRegisterCallbackPreProcess,
DriverProxyRegisterCallbackProxyStalled,
DriverProxyRegisterCallbackPostProcess,
DriverProxyRegisterCallbackMax
} DRIVER_PROXY_REGISTER_CALLBACK_PHASE, *PDRIVER_PROXY_REGISTER_CALLBACK_PHASE;
Constants
DriverProxyRegisterCallbackPreProcessIndica la fase de preprocesamiento. La devolución de llamada se invoca antes de que se inicie cualquier cambio de función de punto de conexión, lo que permite al controlador realizar operaciones de preparación, como adquirir bloqueos, guardar estado o notificar a otros componentes del cambio inminente. |
DriverProxyRegisterCallbackProxyStalledIndica la fase de desatenida del proxy. La devolución de llamada se invoca mientras se bloquean todas las llamadas a los puntos de conexión registrados (detenidos). Durante esta fase, el sistema DriverProxy ha adquirido el bloqueo de ejecución y no se realizarán nuevas llamadas a las funciones de punto de conexión. Este es el tiempo más seguro para que el controlador realice operaciones que requieren acceso exclusivo a los recursos a los que pueden acceder las funciones del punto de conexión. |
DriverProxyRegisterCallbackPostProcessIndica la fase posterior al procesamiento. La devolución de llamada se invoca después de que se complete el cambio de función del punto de conexión y se haya reanudado la operación normal. Esto permite al controlador realizar operaciones de limpieza, bloqueos de versión, estado de actualización o notificar a otros componentes que la operación de intercambio en caliente se haya completado. |
DriverProxyRegisterCallbackMaxValor máximo de la enumeración. Este valor no se usa como fase de devolución de llamada y está reservado para fines de validación interna. |
Observaciones
IoRegisterDriverProxyEndpoints usa esta enumeración para indicar qué fase del proceso de registro se está ejecutando actualmente cuando se invoca la devolución de llamada DRIVER_PROXY_REGISTER_CALLBACK.
Las fases de devolución de llamada se producen en una secuencia específica durante el registro del punto de conexión o las operaciones de intercambio frecuente:
- DriverProxyRegisterCallbackPreProcess: se llama antes de que comience cualquier cambio de función.
- DriverProxyRegisterRegisterCallbackProxyStalled: se llama mientras se bloquean todas las llamadas de punto de conexión.
- DriverProxyRegisterCallbackPostProcess: se llama después de completar el cambio de función.
Cada fase sirve para un propósito diferente en la operación de intercambio en caliente:
- La fase PreProcess permite a los controladores prepararse para el próximo cambio.
- La fase ProxyStalled proporciona acceso exclusivo cuando se bloquean las llamadas de punto de conexión.
- La fase PostProcess permite a los controladores limpiar una vez completado el cambio.
La devolución de llamada debe devolver STATUS_SUCCESS para que la operación continúe. Si alguna fase de devolución de llamada devuelve un estado de error, se producirá un error en toda la operación de registro y se revertirán los cambios parciales.
Requisitos
| Requirement | Importancia |
|---|---|
| Header | wdm.h |
Consulte también
DRIVER_PROXY_REGISTER_CALLBACK