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 nenhum valor 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 BSTR ou uma matriz de valores BSTR pode ser especificado.

Os valores BSTR especificados 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 da 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 da ação.

Um máximo de 32 valores BSTR pode ser especificado.

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 Ações de Tarefa.

[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 o parâmetro flags , o valor especificado nesse parâmetro será ignorado. Se a constante TASK_RUN_USE_SESSION_ID for passada para o parâmetro flags 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 o parâmetro flags 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 conectado à sessão especificada.

Se a constante TASK_RUN_USE_SESSION_ID for passada para o parâmetro flags 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 de 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 interface IRunningTaskNULL. Fazer referência a um ponteiro não NULL pode causar um vazamento de memória porque o ponteiro será substituído.

Retornar valor

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

Comentários

Esse método retornará sem erro, 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

   
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho taskschd.h
Biblioteca Taskschd.lib
DLL Taskschd.dll

Confira também

IRegisteredTask

Agendador de Tarefas