Compartilhar via


Criando uma tarefa usando o exemplo NewWorkItem

Ao criar uma tarefa, você usará duas interfaces do Agendador de Tarefas: ITaskScheduler e ITask. Você deve fornecer um nome exclusivo para a tarefa, o identificador de classe do objeto de tarefa e o identificador de interface do ITask. O identificador de classe e o identificador de interface são mostrados no exemplo de código após este tópico.

Observação

Você também pode criar uma tarefa chamando ITaskScheduler::AddWorkItem. Quando você faz essa rota, é sua responsabilidade criar uma instância do objeto Task (que dá suporte à interface ITask ) e, em seguida, adicionar a tarefa com o nome fornecido.

 

Observação

Por padrão, apenas um membro do grupo Administradores, Operadores Backup ou Operadores de Servidor pode criar tarefas no Windows Server 2003. Um membro do grupo Administradores pode alterar o descritor de segurança da pasta Windows\Tarefa para permitir que outras pessoas criem tarefas.

 

O nome fornecido para a tarefa deve ser exclusivo na pasta Tarefas Agendadas. Se uma tarefa com o mesmo nome já existir, ITaskScheduler::NewWorkItem retornará ERROR_FILE_EXISTS. Se você receber esse valor retornado, deverá especificar um nome diferente e tentar criar a tarefa novamente.

O procedimento a seguir descreve como criar uma nova tarefa de item de trabalho.

Para criar uma nova tarefa de item de trabalho

  1. Chame CoInitialize para inicializar a biblioteca COM e o CoCreateInstance para obter um objeto Agendador de Tarefas. (Este exemplo pressupõe que o serviço Agendador de Tarefas esteja em execução.)
  2. Chame ITaskScheduler::NewWorkItem para criar uma nova tarefa. (Este método retorna um ponteiro para uma interface ITask .)
  3. Salve a nova tarefa no disco chamando IPersistFile::Save. (A interface IPersistFile é uma interface COM padrão compatível com a interface ITask .)
  4. Chame ITask::Release para liberar todos os recursos. (Observe que a versão é um método IUnknown herdado pelo ITask.)
Para obter um exemplo de código de Consulte
Criando uma única tarefa Exemplo de código C/C++: criando uma tarefa usando NewWorkItem

 

Exemplos do Agendador de Tarefas 1.0