Función SetThreadpoolCallbackLibrary (winbase.h)
Garantiza que el archivo DLL especificado permanece cargado siempre que haya devoluciones de llamada pendientes.
Sintaxis
void SetThreadpoolCallbackLibrary(
[in, out] PTP_CALLBACK_ENVIRON pcbe,
[in] PVOID mod
);
Parámetros
[in, out] pcbe
Estructura TP_CALLBACK_ENVIRON que define el entorno de devolución de llamada. La función InitializeThreadpoolEnvironment devuelve esta estructura.
[in] mod
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 evita que se produzca un interbloqueo cuando un subproceso de DllMain está esperando 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 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 consume un poco de 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.
El grupo de subprocesos asume la propiedad de la referencia de biblioteca proporcionada a esta función. El llamador no debe llamar a FreeLibrary en un identificador de módulo después de pasarlo a esta función.
Esta función se implementa como una función insertada.
Para compilar una aplicación que use esta función, defina _WIN32_WINNT como 0x0600 o superior.
Requisitos
Cliente mínimo compatible | Windows Vista [aplicaciones de escritorio | aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2008 [aplicaciones de escritorio | aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | winbase.h (incluya Windows.h) |
Consulte también
FreeLibraryWhenCallbackReturns
InitializeThreadpoolEnvironment