当 HDC 的 window 被摧毁时会发生什么?

What happens to an HDC when its window is destroyed?

我正在编写一个在后台与 HWNDHDC 一起使用的库。 ReleaseDC 接受一个 HWND 作为参数,但是如果 window 已经被销毁了怎么办? Windows 会自动释放 HDC,还是会导致资源泄漏?

在 Windows 10 上测试时,似乎在 window 被销毁时自动释放使用 GetDC 检索的 DC。

创建 window、检索 DC 并销毁 window 的无限循环在第一次迭代后没有增加内存使用量。为了确保某些内部引用计数不会在不递减的情况下递增,我更改了循环以重复从同一个 window 获取 DC。这不仅增加了每次迭代的内存使用量,而且使我的整个系统变得缓慢和不稳定。