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.