3.2.4.4.1.51 IVolumeClient::GetTaskDetail (Opnum 68)

The GetTaskDetail method retrieves information about a task running on the server.

 HRESULT GetTaskDetail(
   [in] LdmObjectId id,
   [in, out] TASK_INFO* tinfo
 );

id: Specifies the OID of the task for which to retrieve information.

tinfo: A TASK_INFO structure that describes the operation currently being performed by id. The client SHOULD set values of all members of TASK_INFO structure as zero.

Return Values: The method MUST return 0 or a nonerror HRESULT on success, or an implementation-specific nonzero error code on failure (as specified in [MS-ERREF]; see also section 2.2.1 for HRESULT values predefined by the Disk Management Remote Protocol).

Upon receiving this message, the server MUST validate parameters:

  1. Verify that the task specified by id is in the list of tasks currently running on the server.

  2. Verify that tinfo is not NULL.

If parameter validation fails, the server MUST fail the operation immediately, returning an appropriate error as its response to the client.

Otherwise, the server MUST compose a response to the client as follows:

  1. Fill a TASK_INFO structure with the status of the task.

  2. The filled TASK_INFO structure MUST be returned in the output parameter tinfo.

  3. Return a response that contains the output parameters mentioned previously and the status of the operation.

The server MUST NOT change the list of tasks currently running on the server as part of processing this message.