Función Wow64SuspendThread (wow64apiset.h)

Suspende el subproceso WOW64 especificado.

Sintaxis

DWORD Wow64SuspendThread(
  HANDLE hThread
);

Parámetros

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 Wow64SuspendThread 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. Al llamar a Wow64SuspendThread , el número de suspensiones del subproceso de destino se incrementa. 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.

Esta función está pensada para aplicaciones de 64 bits. No se admite en Windows de 32 bits; estas llamadas producen un error y establecen el último código de error en ERROR_INVALID_FUNCTION. Una aplicación de 32 bits puede llamar a esta función en un subproceso WOW64; el resultado es el mismo que llamar a la función SuspendThread .

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista
Servidor mínimo compatible Windows Server 2008
Encabezado wow64apiset.h
Library Kernel32.lib
Archivo DLL Kernel32.dll

Vea también

ResumeThread