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 |