Função EnterUmsSchedulingMode (winbase.h)
Converte o thread de chamada em um thread de agendador de UMS (agendamento no modo de usuário).
Aviso
A partir de Windows 11, não há suporte para o agendamento no modo de usuário. Todas as chamadas falham com o erro ERROR_NOT_SUPPORTED
.
Sintaxe
BOOL EnterUmsSchedulingMode(
[in] PUMS_SCHEDULER_STARTUP_INFO SchedulerStartupInfo
);
Parâmetros
[in] SchedulerStartupInfo
Um ponteiro para uma estrutura UMS_SCHEDULER_STARTUP_INFO que especifica atributos UMS para o thread, incluindo uma lista de conclusão e uma função de ponto de entrada UmsSchedulerProc .
Valor retornado
Se a função for bem-sucedida, ela retornará um valor diferente de zero.
Se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.
Comentários
O agendador UMS de um aplicativo cria um thread de agendador UMS para cada processador que será usado para executar threads UMS. O agendador normalmente define a afinidade do thread do agendador para um único processador, reservando efetivamente o processador para o uso desse thread do agendador. Para obter mais informações sobre afinidade de thread, consulte Vários processadores.
Quando um thread do agendador UMS é criado, o sistema chama a função de ponto de entrada UmsSchedulerProc especificada com a chamada de função EnterUmsSchedulingMode . O agendador do aplicativo é responsável por concluir qualquer inicialização específica do aplicativo do thread do agendador e selecionar um thread de trabalho da UMS a ser executado.
O agendador do aplicativo seleciona um thread de trabalho umS para executar chamando ExecuteUmsThread com o contexto de thread UMS do thread de trabalho. O thread de trabalho é executado até que ele produz controle chamando UmsThreadYield, blocos ou terminações. Em seguida, o thread do agendador está disponível para executar outro thread de trabalho.
Um thread do agendador deve continuar a ser executado até que todos os threads de trabalho cheguem a um ponto de parada natural: ou seja, todos os threads de trabalho renderam, bloquearam ou terminaram.
Requisitos
Cliente mínimo com suporte | Windows 7 (somente 64 bits) [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 R2 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | winbase.h (inclua Windows.h) |
Biblioteca | Kernel32.lib |
DLL | Kernel32.dll |
Conjunto de APIs | api-ms-win-core-ums-l1-1-0 (introduzido no Windows 7) |