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.