Compartilhar via


ChangeIdleRoutine

Aplica-se a: Outlook 2013 | Outlook 2016

Altera algumas ou todas as características de uma rotina ociosa baseada em FNIDLE .

Valor Descrição
Arquivo de cabeçalho:
Mapiutil.h
Implementado por:
MAPI
Chamado por:
Aplicativos cliente e provedores de serviços
VOID ChangeIdleRoutine(
  FTG ftg,
  PFNIDLE pfnIdle,
  LPVOID pvIdleParam,
  short priIdle,
  ULONG csecIdle,
  USHORT iroIdle,
  USHORT ircIdle
);

Parâmetros

Ftg

[in] Marca de função que identifica a rotina ociosa.

pfnIdle

[in] Ponteiro para a rotina ociosa.

pvIdleParam

[in] Ponteiro para um novo bloco de memória que a implementação de chamada aloca para a rotina ociosa.

priIdle

[in] Valor que representa uma nova prioridade para a rotina ociosa. As possíveis prioridades para rotinas definidas pela implementação são maiores ou inferiores a zero, mas não zero. Um valor zero é reservado para um evento de usuário, como um clique de mouse ou uma mensagem de WM_PAINT. Valores maiores que zero representam prioridades para tarefas em segundo plano que têm uma prioridade maior do que os eventos do usuário e são despachados como parte do loop padrão da bomba de mensagens do Windows. Valores inferiores a zero representam prioridades para tarefas ociosas que só são executadas durante o tempo ocioso da bomba de mensagem. Exemplos de prioridades são: 1 para envio em primeiro plano, 1 para inserção de caracteres de edição de energia e 3 para baixar novas mensagens.

csecIdle

[in] Uma nova hora, em centésimos de segundo, para se aplicar à rotina ociosa. O significado do valor de tempo inicial varia, dependendo do que é passado no parâmetro iroIdle . Pode ser:

  • O período mínimo de inação do usuário que deve passar antes que o mecanismo ocioso MAPI chame a rotina ociosa pela primeira vez, se o sinalizador FIROWAIT for definido em iroIdle. Depois que esse tempo passar, o mecanismo ocioso pode chamar a rotina ociosa sempre que necessário.

  • O intervalo mínimo entre chamadas para a rotina ociosa, se o sinalizador FIROINTERVAL for definido em iroIdle.

iroIdle

[in] A máscara de bits de sinalizadores indica novas opções para chamar a rotina ociosa. Exatamente um dos seguintes sinalizadores deve ser definido:

  • FIROINTERVAL: o tempo especificado pelo parâmetro csecIdle é o intervalo mínimo entre chamadas sucessivas para a rotina ociosa.

  • FIROONCEONLY: Obsoleto. Não usar.

  • FIROPERBLOCK: Obsoleto. Não usar.

  • FIROWAIT: o tempo especificado pelo parâmetro csecIdle é o período mínimo de inação do usuário que deve passar antes que o mecanismo ocioso MAPI chame a rotina ociosa pela primeira vez. Depois que esse tempo passar, o mecanismo ocioso pode chamar a rotina ociosa sempre que necessário.

ircIdle

[in] A máscara de bits de sinalizadores usada para indicar as alterações a serem feitas na rotina ociosa. Os seguintes sinalizadores podem ser definidos em qualquer combinação:

  • FIRCCSEC: uma alteração no tempo associado à rotina ociosa, ou seja, uma alteração indicada pelo valor passado no parâmetro csecIdle .

  • FIRCIRO: uma alteração nas opções para a rotina ociosa, ou seja, uma alteração indicada pelo valor passado no parâmetro iroIdle .

  • FIRCPFN: uma alteração no ponteiro de rotina ociosa, ou seja, uma alteração indicada pelo valor passado no parâmetro pfnIdle .

  • FIRCPRI: uma alteração na prioridade da rotina ociosa, ou seja, uma alteração indicada pelo valor passado no parâmetro priIdle .

  • FIRCPV: uma alteração no bloco de memória da rotina ociosa, ou seja, uma alteração indicada pelo valor passado no parâmetro pvIdleParam .

Valor de retorno

Nenhum.

Comentários

As funções a seguir lidam com o mecanismo ocioso MAPI e com rotinas ociosas com base no protótipo da função FNIDLE :

Função de rotina ociosa Uso
ChangeIdleRoutine
Altera as características de uma rotina ociosa registrada.
DeregisterIdleRoutine
Remove uma rotina ociosa registrada do sistema MAPI.
EnableIdleRoutine
Desabilita ou habilita novamente uma rotina ociosa registrada sem removê-la do sistema MAPI.
FtgRegisterIdleRoutine
Adiciona uma rotina ociosa ao sistema MAPI, com ou sem habilitá-la.
MAPIDeInitIdle
Desliga o mecanismo ocioso MAPI para o aplicativo de chamada.
MAPIInitIdle
Inicializa o mecanismo ocioso MAPI para o aplicativo de chamada.

ChangeIdleRoutine, DeregisterIdleRoutine e EnableIdleRoutine tomam como parâmetro de entrada a marca de função retornada por FtgRegisterIdleRoutine.

Quando todas as tarefas em primeiro plano para a plataforma ficam ociosas, o mecanismo ocioso MAPI chama a rotina ociosa de maior prioridade que está pronta para ser executada. Não há garantia de chamada de ordem entre rotinas ociosas da mesma prioridade.