Función ExecuteUmsThread (winbase.h)
Ejecuta el subproceso de trabajo de UMS especificado.
Advertencia
A partir de Windows 11, no se admite la programación en modo de usuario. Todas las llamadas producen el error ERROR_NOT_SUPPORTED
.
Sintaxis
BOOL ExecuteUmsThread(
[in, out] PUMS_CONTEXT UmsThread
);
Parámetros
[in, out] UmsThread
Puntero al contexto del subproceso umS del subproceso de trabajo que se va a ejecutar.
Valor devuelto
Si la función se ejecuta correctamente, no devuelve un valor.
Si la función no se realiza correctamente, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError. Los posibles códigos de error incluyen lo siguiente.
Código devuelto | Descripción |
---|---|
|
El sistema bloquea temporalmente el subproceso de trabajo de UMS especificado. El autor de la llamada puede reintentar la operación. |
|
No se admite UMS. |
Comentarios
La función ExecuteUmsThread carga el estado del subproceso de trabajo de UMS especificado sobre el estado del subproceso del programador de UMS que realiza la llamada para que el subproceso de trabajo pueda ejecutarse. El subproceso de trabajo se ejecuta hasta que produce llamando a la función UmsThreadYield , los bloques o finaliza.
Cuando un subproceso de trabajo produce o bloquea, el sistema llama a la función de punto de entrada UmsSchedulerProc del subproceso del programador. Cuando se desbloquea un subproceso de trabajo bloqueado anteriormente, el sistema pone en cola el subproceso de trabajo a la lista de finalización especificada con la función UpdateProcThreadAttribute cuando se creó el subproceso de trabajo.
La función ExecuteUmsThread no devuelve a menos que se produzca un error. Si la función devuelve ERROR_RETRY, el error es transitorio y se puede reintentar la operación.
Si la función devuelve un error distinto de ERROR_RETRY, el programador de la aplicación debe comprobar si el subproceso está suspendido o finalizado llamando a QueryUmsThreadInformation con UmsThreadIsSuspended o UmsThreadIsTerminated, respectivamente. Otros posibles errores incluyen llamar a la función en un subproceso que no es un subproceso del programador de UMS, pasar un contexto de subproceso de trabajo umS no válido o especificar un subproceso de trabajo que ya se está ejecutando en otro subproceso del programador.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 7 (solo 64 bits) [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 R2 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | winbase.h (incluya Windows.h) |
Library | Kernel32.lib |
Archivo DLL | Kernel32.dll |
Conjunto de API | api-ms-win-core-ums-l1-1-0 (introducido en Windows 7) |