4.2.2 ITaskSchedulerService Operation Flow
The following figure illustrates a conceptual protocol operation flow for the ITaskSchedulerService interface. All the operations involve the task definition / configuration XML document. For task creation and update, a new or updated task definition is remoted from the client. Deletion and enumeration operate on the XML definitions already existing on the server. In all cases, the task definition exists in the form of an XML document, each task as a separate file, organized in subdirectories under the Tasks root directory.

Figure 4: ITaskSchedulerService operation flow
Server_Bind: Client binds to the server, as specified in section 3.1.3.
Op_Request_and_XML_Config_and_Creds_Received: Server receives a request for operation such as create, update, or delete a task, or enumerate tasks. In the case of creating or updating a task, the task XML configuration is passed along in the RPC call, together with the credentials for running the created / updated task as specified in section 3.1.4.3.1.
Folder_Accessible: If a task creation is requested, the server first checks if the client has access to the folder where the tasks are required to be registered according to the URI element specified in section 2.5.1.
Permissions_Check_&Trigger_Reg: If the task creation is requested, the server first checks that the client is allowed to register the task according to the configuration requested. The permissions check is performed according to the permissions table in section 3.2.5.1.1. In addition, the server configures the trigger as specified in section 3.2.4.
Task_File_Accessible: If the task update is requested, the server first checks if the client has access to the file that requires updating. The permissions check is performed according to the permissions table in section 3.2.5.1.1.
Task_Deleted / Task_Updated / Task_Created / Tasks_Enum: Server internal states, as requested by the client request as specified in section 3.1.4.3.
Task_Account_Failed: Server failed to resolve the account name requested by client.
Task_Deletion_Failed / Task_Update_Failed / Task_Creation_Failed / Task_Enum_Failed: Server failed to delete / update / create / enumerate the task, as requested by the client according to the operations specified in section 3.1.4.3.
Task_Enum_Succeeded_on_Some_Directories: The client did not have access to all the directories under the tasks directory root, thus only partial enumeration was returned as specified in section 3.2.5.4.8.