Función TpSetCallbackRaceWithDll (winnt.h)
Garantiza que el archivo DLL especificado permanece cargado siempre y cuando haya devoluciones de llamada pendientes.
Sintaxis
void TpSetCallbackRaceWithDll(
[in, out] PTP_CALLBACK_ENVIRON CallbackEnviron,
[in] PVOID DllHandle
);
Parámetros
[in, out] CallbackEnviron
Estructura TP_CALLBACK_ENVIRON que define el entorno de devolución de llamada. La función InitializeThreadpoolEnvironment devuelve esta estructura.
[in] DllHandle
Identificador del archivo DLL.
Valor devuelto
None
Observaciones
Debe llamar a esta función si una devolución de llamada podría adquirir el bloqueo del cargador. Esto impide que se produzca un interbloqueo cuando un subproceso de DllMain espera a que finalice la devolución de llamada y otro subproceso que ejecuta la devolución de llamada intenta adquirir el bloqueo del cargador.
Si el archivo DLL que contiene la devolución de llamada podría descargarse, el código de limpieza de DllMain debe cancelar las devoluciones de llamada pendientes antes de liberar el objeto.
La administración de devoluciones de llamada creadas con un TP_CALLBACK_ENVIRON que especifica una biblioteca de devolución de llamada requiere un uso intensivo del procesamiento. Debe tener en cuenta otras opciones para asegurarse de que la biblioteca no se descarga mientras se ejecutan las devoluciones de llamada o para garantizar que las devoluciones de llamada que se puedan ejecutar no adquieran el bloqueo del cargador.
Esta función se implementa como una función insertada.
Requisitos
Plataforma de destino | Windows |
Encabezado | winnt.h |
Consulte también
TpSetCallbackActivationContext
TpSetCallbackFinalizationCallback