Once created, the task structure adds itself as a Console caller. This means:
1. The user must check for rc() before using the created structure (e.g. passing it as a thread function argument). If rc() returns a failure, the Console object may not be used by the task (see Console::addCaller() for more details). 2. On successful initialization, the structure keeps the Console caller until destruction (to ensure Console remains in the Ready state and won't be accidentally uninitialized). Forgetting to delete the created task will lead to Console::uninit() stuck waiting for releasing all added callers.
Public Member Functions
|bool||isOk () const|
|HRESULT||rc () const|
|VMTask (Console *aConsole, bool aUsesVMPtr)|
|const ComObjPtr< Console >||mConsole|