Compartilhar via


Método IRegisteredTask::RunEx (taskschd.h)

Executa a tarefa registrada imediatamente usando sinalizadores especificados e um identificador de sessão.

Sintaxe

HRESULT RunEx(
  [in]            VARIANT      params,
  [in]            LONG         flags,
  [in]            LONG         sessionID,
  [in]            BSTR         user,
  [out, optional] IRunningTask **ppRunningTask
);

Parâmetros

[in] params

Os parâmetros usados como valores nas ações da tarefa. Para não especificar valores de parâmetro para as ações de tarefa, defina esse parâmetro como VT_NULL ou VT_EMPTY. Caso contrário, um único valor de BSTR ou uma matriz de valores de BSTR, pode ser especificado.

Os valores BSTR que você especificar são emparelhados com nomes e armazenados como pares nome-valor. Se você especificar um único valor BSTR, Arg0 será o nome atribuído ao valor. O valor pode ser usado na ação de tarefa em que a variável $(Arg0) é usada nas propriedades da ação.

Se você passar valores como "0", "100" e "250" como uma matriz de valores BSTR, "0" substituirá as variáveis $(Arg0), "100" substituirá as variáveis $(Arg1) e "250" substituirá as variáveis $(Arg2) usadas nas propriedades de ação.

Um máximo de 32 valores de BSTR podem ser especificados.

Para obter mais informações e uma lista de propriedades de ação que podem usar variáveis $(Arg0), $(Arg1), ..., $(Arg32) em seus valores, consulte Task Actions.

[in] flags

Uma constante TASK_RUN_FLAGS que define como a tarefa é executada.

[in] sessionID

A sessão do servidor de terminal na qual você deseja iniciar a tarefa.

Se a constante TASK_RUN_USE_SESSION_ID não for passada para os sinalizadores parâmetro, o valor especificado nesse parâmetro será ignorado. Se a constante TASK_RUN_USE_SESSION_ID for passada para os sinalizadores parâmetro e o valor sessionID for menor ou igual a 0, um erro de argumento inválido será retornado.

Se a constante TASK_RUN_USE_SESSION_ID for passada para os sinalizadores parâmetro e o valor sessionID for uma ID de sessão válida maior que 0 e se nenhum valor for especificado para o parâmetro de usuário , o serviço agendador de tarefas tentará iniciar a tarefa interativamente como o usuário que está conectado à sessão especificada.

Se a constante TASK_RUN_USE_SESSION_ID for passada para os sinalizadores parâmetro e o valor sessionID for uma ID de sessão válida maior que 0 e se um usuário for especificado no parâmetro de usuário , o serviço Agendador de Tarefas tentará iniciar a tarefa interativamente como o usuário especificado no parâmetro do usuário .

[in] user

O usuário para o qual a tarefa é executada.

[out, optional] ppRunningTask

Uma interface IRunningTask que define a nova instância da tarefa.

Passe uma referência para um ponteiro de interfaceNULL NULL. Fazer referência a um ponteiro NULL nãopode causar um vazamento de memória porque o ponteiro será substituído.

Valor de retorno

Se esse método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.

Observações

Esse método retornará sem erros, mas a tarefa não será executada se a propriedade AllowDemandStart de ITaskSettings for definida como false para a tarefa.

Se IRegisteredTask::RunEx for invocado de uma tarefa desabilitada, ela retornará S_OK, mas a tarefa não será executada.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows Vista [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows Server 2008 [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
cabeçalho taskschd.h
biblioteca Taskschd.lib
de DLL Taskschd.dll

Consulte também

IRegisteredTask

do Agendador de Tarefas