![](https://devblogs.microsoft.com/oldnewthing/wp-content/uploads/sites/38/2019/02/ShowCover.jpg)
![](https://devblogs.microsoft.com/oldnewthing/wp-content/uploads/sites/38/2019/02/ShowCover.jpg)
![](https://devblogs.microsoft.com/oldnewthing/wp-content/uploads/sites/38/2019/02/ShowCover.jpg)
How can I monitor changes to the reference count of a C++/WinRT object?
![](https://devblogs.microsoft.com/oldnewthing/wp-content/uploads/sites/38/2019/02/ShowCover.jpg)
COM asynchronous interfaces, part 9: Asynchronous release, assembling a solution
![](https://devblogs.microsoft.com/oldnewthing/wp-content/uploads/sites/38/2019/02/ShowCover.jpg)
COM asynchronous interfaces, part 8: Asynchronous release, the problems
![](https://devblogs.microsoft.com/oldnewthing/wp-content/uploads/sites/38/2019/02/ShowCover.jpg)
COM asynchronous interfaces, part 7: Being called directly when the operation completes
![](https://devblogs.microsoft.com/oldnewthing/wp-content/uploads/sites/38/2019/02/ShowCover.jpg)
COM asynchronous interfaces, part 6: Learning about completion without polling
![](https://devblogs.microsoft.com/oldnewthing/wp-content/uploads/sites/38/2019/02/ShowCover.jpg)
COM asynchronous interfaces, part 5: The unreliable server
![](https://devblogs.microsoft.com/oldnewthing/wp-content/uploads/sites/38/2019/02/ShowCover.jpg)
COM asynchronous interfaces, part 4: Doing work while waiting for the asynchronous operation
![](https://devblogs.microsoft.com/oldnewthing/wp-content/uploads/sites/38/2019/02/ShowCover.jpg)
COM asynchronous interfaces, part 3: Abandoning the operation after a timeout
![](https://devblogs.microsoft.com/oldnewthing/wp-content/uploads/sites/38/2019/02/ShowCover.jpg)