Compartir a través de


Función CallbackMayRunLong (threadpoolapiset.h)

Indica que es posible que la devolución de llamada no se devuelva rápidamente.

Sintaxis

BOOL CallbackMayRunLong(
  [in, out] PTP_CALLBACK_INSTANCE pci
);

Parámetros

[in, out] pci

Puntero a una estructura de TP_CALLBACK_INSTANCE que define la instancia de devolución de llamada. El puntero se pasa a la función de devolución de llamada.

Valor devuelto

La función devuelve TRUE si otro subproceso del grupo de subprocesos está disponible para procesar devoluciones de llamada o el grupo de subprocesos pudo crear un subproceso nuevo. En este caso, la función de devolución de llamada actual puede usar el subproceso actual indefinidamente.

La función devuelve FALSE si otro subproceso del grupo de subprocesos no está disponible para procesar devoluciones de llamada y el grupo de subprocesos no pudo crear un subproceso nuevo. El grupo de subprocesos intentará crear un subproceso después de un retraso, pero si la función de devolución de llamada actual se ejecuta durante mucho tiempo, el grupo de subprocesos puede perder eficacia.

Comentarios

El grupo de subprocesos puede usar esta información para determinar mejor cuándo se debe crear un nuevo subproceso.

El subproceso que está procesando la devolución de llamada debe llamar a la función CallbackMayRunLong . Llamar a esta función desde otro subproceso puede provocar una condición de carrera.

La función CallbackMayRunLong siempre marca la devolución de llamada como de ejecución prolongada, tanto si un subproceso está disponible para procesar devoluciones de llamada como si el grupo de subprocesos puede asignar un nuevo subproceso. Por lo tanto, esta función solo se debe llamar una vez, incluso si devuelve FALSE.

Para compilar una aplicación que use esta función, defina _WIN32_WINNT como 0x0600 o superior.

Requisitos

Requisito Value
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 threadpoolapiset.h (incluya Windows.h en Windows 7, Windows Server 2008 Windows Server 2008 R2)
Library Kernel32.lib
Archivo DLL Kernel32.dll

Vea también

DisassociateCurrentThreadFromCallback

FreeLibraryWhenCallbackReturns

LeaveCriticalSectionWhenCallbackReturns

ReleaseMutexWhenCallbackReturns

ReleaseSemaphoreWhenCallbackReturns

SetEventWhenCallbackReturns

SetThreadpoolCallbackRunsLong

Grupos de subprocesos

TrySubmitThreadpoolCallback