Método ITaskFolder::RegisterTask (taskschd.h)
Registra (cria) uma nova tarefa na pasta usando XML para definir a tarefa.
Sintaxe
HRESULT RegisterTask(
[in] BSTR path,
[in] BSTR xmlText,
[in] LONG flags,
[in] VARIANT userId,
[in] VARIANT password,
[in] TASK_LOGON_TYPE logonType,
[in, optional] VARIANT sddl,
[out] IRegisteredTask **ppTask
);
Parâmetros
[in] path
O nome da tarefa. Se esse valor for NULL, a tarefa será registrada na pasta da tarefa raiz e o nome da tarefa será um valor GUID criado pelo serviço Agendador de Tarefas.
Um nome de tarefa não pode começar ou terminar com um caractere de espaço. O caractere '.' não pode ser usado para especificar a pasta de tarefa atual e o '.'. os caracteres não podem ser usados para especificar a pasta de tarefa pai no caminho.
[in] xmlText
Uma definição formatada em XML da tarefa.
Os tópicos a seguir contêm tarefas definidas usando XML.
- exemplo de gatilho de tempo (XML)
- exemplo de gatilho de evento (XML)
- exemplo de gatilho diário (XML)
- exemplo de gatilho de registro (XML)
-
de exemplo de gatilho semanal
(XML) - exemplo de gatilho de logon (XML)
- exemplo de gatilho de inicialização (XML)
[in] flags
Uma constante TASK_CREATION.
[in] userId
As credenciais do usuário usadas para registrar a tarefa.
[in] password
A senha da userId usada para registrar a tarefa. Quando o tipo de logon TASK_LOGON_SERVICE_ACCOUNT é usado, a senha deve ser um valor de VARIANT
[in] logonType
Um valor que define qual técnica de logon é usada para executar a tarefa registrada.
[in, optional] sddl
O descritor de segurança associado à tarefa registrada. Você pode especificar a ACL (lista de controle de acesso) no descritor de segurança para uma tarefa, a fim de permitir ou negar acesso a determinados usuários e grupos a uma tarefa.
[out] ppTask
Uma interface IRegisteredTask que representa a nova tarefa.
Passe uma referência a uma
Valor de retorno
Esse método pode retornar um desses valores.
Código/valor de retorno | Descrição |
---|---|
|
A operação foi concluída com êxito. |
|
O acesso é negado para se conectar ao serviço agendador de tarefas. |
|
O aplicativo não tem memória suficiente para concluir a operação ou o usuário ou senha tem pelo menos um valor nulo e um valor não nulo. |
|
A tarefa está registrada, mas pode não ser iniciada. O privilégio de logon em lote precisa ser habilitado para a entidade de segurança da tarefa. |
|
A tarefa é registrada, mas nem todos os gatilhos especificados iniciarão a tarefa. |
Observações
Para uma tarefa, que contém uma ação de caixa de mensagem, a caixa de mensagem será exibida se a tarefa for ativada e a tarefa tiver um tipo de logon interativo. Para definir o tipo de logon da tarefa como interativo, especifique TASK_LOGON_INTERACTIVE_TOKEN ou TASK_LOGON_GROUP na propriedade LogonType da entidade de tarefa ou no parâmetro logonType de ITaskFolder::RegisterTask ou ITaskFolder::RegisterTaskDefinition.
Somente um membro do grupo Administradores pode criar uma tarefa com um gatilho de inicialização.
Você pode registrar com êxito uma tarefa com um grupo especificado no parâmetro userId e TASK_LOGON_INTERACTIVE_TOKEN especificado no parâmetro logonType de ITaskFolder::RegisterTask ou ITaskFolder::RegisterTaskDefinition, mas a tarefa não será executada.
Passar os valores TASK_VALIDATE_ONLY e TASK_IGNORE_REGISTRATION_TRIGGERS juntos para os sinalizadores parâmetro é um argumento inválido.
Se uma tarefa definir uma rede que não existe nas configurações NetworkSettings da tarefa, o método ITaskFolder::RegisterTask retornará o erro 0x8000ffff quando a tarefa for registrada.
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 |