Creating a task
Tasks are represented by an entry in the Predefined Diagnostic Task object class (PDiagTask). To create a new task, a PDiagTask object is needed plus the binary executable of the task itself, as specified by the PDiagTask->Action class member.
Note: The diagnostic subsystem only supports 32-bit Tasks
and Service Aids.
When you are creating a task
to display a subtask list, use a %name,comma separated list
in the PDiagTask-> Action field. The comma-separated
list displays the TaskId values of each subtask TaskId. If a task
and its subtasks have the same TaskId, a %name can be used.
The following is an example of a task and subtask that have the same
TaskId:
"%ThisTask,73,12,19" or "%ThisTask"
Some Task IDs are reserved for use by the Diagnostic Controller:
- Task ID 0
- Built-in Controller Task
- Task ID 1000+
- Reserved for Third-Party Use. Any number may be used above 999. A clash of task IDs by third-party tasks may occur if the same task ID is used. The problem may appear to the user as seeing a particular resource supported by a task, when in reality it is not. Each third-party supported task should be able to handle the condition of a nonsupported resource given as a command-line argument, if the PDiagTask->ResourceFlag is set.