Función SuspendThread (processthreadsapi.h)

Suspende el subproceso especificado.

Una aplicación de 64 bits puede suspender un subproceso WOW64 mediante la función Wow64SuspendThread .

Sintaxis

DWORD SuspendThread(
  [in] HANDLE hThread
);

Parámetros

[in] hThread

Identificador del subproceso que se va a suspender.

El identificador debe tener el derecho de acceso THREAD_SUSPEND_RESUME . Para obtener más información, consulte Derechos de acceso y seguridad de subprocesos.

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es el recuento de suspensiones anteriores del subproceso; de lo contrario, es (DWORD) -1. Para obtener información de error extendida, use la función GetLastError .

Comentarios

Si la función se ejecuta correctamente, se suspende la ejecución del subproceso especificado y se incrementa el recuento de suspensiones del subproceso. Suspender un subproceso hace que el subproceso deje de ejecutar código en modo de usuario (aplicación).

Esta función está diseñada principalmente para su uso por parte de los depuradores. No está pensado para usarse para la sincronización de subprocesos. Llamar a SuspendThread en un subproceso que posee un objeto de sincronización, como una exclusión mutua o una sección crítica, puede provocar un interbloqueo si el subproceso que realiza la llamada intenta obtener un objeto de sincronización propiedad de un subproceso suspendido. Para evitar esta situación, un subproceso dentro de una aplicación que no es un depurador debe indicar al otro subproceso que se suspenda. El subproceso de destino debe diseñarse para watch para esta señal y responder adecuadamente.

Cada subproceso tiene un recuento de suspensiones (con un valor máximo de MAXIMUM_SUSPEND_COUNT). Si el recuento de suspensiones es mayor que cero, el subproceso se suspende; de lo contrario, el subproceso no está suspendido y es apto para su ejecución. La llamada a SuspendThread hace que se incremente el recuento de suspensiones del subproceso de destino. Si se intenta incrementar más allá del número máximo de suspensiones, se produce un error sin incrementar el recuento.

La función ResumeThread disminuye el recuento de suspensiones de un subproceso suspendido.

Windows Phone 8.1: esta función es compatible con las aplicaciones de Windows Phone Store en Windows Phone 8.1 y versiones posteriores.

Windows 8.1 y Windows Server 2012 R2: esta función es compatible con las aplicaciones de la Tienda Windows en Windows 8.1, Windows Server 2012 R2 y versiones posteriores.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [aplicaciones de escritorio | aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2003 [aplicaciones de escritorio | aplicaciones para UWP]
Plataforma de destino Windows
Encabezado processthreadsapi.h (incluya Windows.h en Windows Vista, Windows 7, Windows Server 2008 Windows Server 2008 R2)
Library Kernel32.lib; WindowsPhoneCore.lib en Windows Phone 8.1
Archivo DLL Kernel32.dll; KernelBase.dll en Windows Phone 8.1

Consulte también

OpenThread

Funciones de proceso y subproceso

ResumeThread

Suspender la ejecución de subprocesos

Subprocesos