Compartilhar via


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)

Confira também

ExecuteUmsThread

Vários processadores

UMS_SCHEDULER_STARTUP_INFO

UmsSchedulerProc

Agendamento de modo de usuário