Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a: Outlook 2013 | Outlook 2016
Adiciona uma rotina ociosa baseada em função FNIDLE ao sistema MAPI.
| Propriedade | Valor |
|---|---|
| Arquivo de cabeçalho: |
Mapiutil.h |
| Implementado por: |
MAPI |
| Chamado por: |
Aplicativos cliente e provedores de serviços |
FTG FtgRegisterIdleRoutine(
PFNIDLE pfnIdle,
LPVOID pvIdleParam,
short priIdle,
ULONG csecIdle,
USHORT iroIdle
);
Parâmetros
pfnIdle
[in] Um ponteiro para a rotina ociosa.
pvIdleParam
[in] Um ponteiro para um bloco de memória que o mecanismo ocioso deve passar como um parâmetro para a rotina ociosa quando ele o chama.
priIdle
[in] A prioridade inicial 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. A prioridade zero é reservada para um evento de usuário, como um clique de mouse ou uma mensagem de WM_PAINT. Prioridades maiores que zero representam tarefas em segundo plano que têm uma prioridade maior do que os eventos do usuário e são enviadas como parte do loop padrão da bomba de mensagens do Windows. Prioridades inferiores a zero representam tarefas ociosas que só são executadas durante o tempo ocioso da bomba de mensagem. Exemplos de prioridades são os seguintes: 1 para envio em primeiro plano, 2 para inserção de caracteres de edição de energia e 3 para baixar novas mensagens.
csecIdle
[in] O valor de tempo inicial, em centésimos de segundo, a ser usado na especificação de parâmetros de rotina ociosa. O significado do valor de tempo inicial varia, dependendo do que é passado no parâmetro iroIdle . O significado pode ser um dos seguintes:
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 usada para definir opções iniciais para a rotina ociosa. Os seguintes sinalizadores podem ser definidos:
FIRONOADJUSTMENT
Use esse sinalizador para especificar que o temporizador de rotina ocioso não deve ser ajustado para dormir ou retomar. O comportamento padrão sem esse sinalizador é que o tempo de sono é excluído ao calcular o tempo decorrido. Se FIRONOADJUSTMENT for passado, o tempo de sono será incluído ao calcular o tempo decorrido.
FIRODISABLED
A rotina ociosa deve ser desabilitada quando registrada. A ação padrão é habilitar a rotina ociosa quando FtgRegisterIdleRoutine a registra.
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.
Valor de retorno
A função FtgRegisterIdleRoutine retorna uma marca de função identificando a rotina ociosa que foi adicionada ao sistema MAPI. Se FtgRegisterIdleRoutine não puder registrar a rotina ociosa para o aplicativo cliente ou provedor de serviços, por exemplo, devido a problemas de memória, ele retornará NULL.
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.
Veja a seguir um exemplo de como usar o sinalizador FIRONOADJUSTMENT no parâmetro iroIdle .
Registre uma rotina ociosa com um atraso de 5 minutos.
Hibernar/Dormir o computador após 1 minuto (4 minutos restantes no temporizador).
Retome o computador 10 minutos depois.
O comportamento padrão, sem FIRONOADJUSTMENT, é que você ainda precisa esperar mais quatro minutos para que sua rotina seja executada. Ou seja, seu temporizador foi ajustado para permitir quanto tempo o computador estava dormindo. No entanto, se você passar FIRONOADJUSTMENT, sua rotina ociosa será executada imediatamente porque mais de 5 minutos de tempo real se passaram.