Compartir a través de


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

DestroyThreadpoolEnvironment

FreeLibraryWhenCallbackReturns

InitializeThreadpoolEnvironment

SetThreadpoolCallbackCleanupGroup

SetThreadpoolCallbackPool

SetThreadpoolCallbackPriority

SetThreadpoolCallbackRunsLong

Grupos de subprocesos