Compartir a través de


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

TpDestroyCallbackEnviron

TpInitializeCallbackEnviron

TpSetCallbackActivationContext

TpSetCallbackCleanupGroup

TpSetCallbackFinalizationCallback

TpSetCallbackLongFunction

TpSetCallbackNoActivationContext

TpSetCallbackPersistent

TpSetCallbackPriority

TpSetCallbackThreadpool