Status Query

This document describes how the status of an asynchronous request is maintained and monitored.

A TRequestStatus object is used to monitor the status and result of the asynchronous request. This object maintains the status of the request at various stages and finally contains the request result. The driver uses the status object when performing operations on the request such as cancelling, completing, or managing multiple similar requests.

Initially, when the request is made, the Kernel changes the status to KRequestPending. After completion of the request, the status is changed to KRequestComplete to indicate request completion. It also contains the result of the request, which can indicate an error or failure of the request. TRequestStatus::Int() returns the request result.