Why would IDirect3DDevice9::Release return S_FALSE?

721 Views Asked by At

When I call the Release method for my Direct3D9 device it returns S_FALSE but I can't find anything that explains why this value would be returned.

From what I can gather, S_FALSE means that it has succeeded but hasn't had to do anything but I only release once.

I also don't think the method does succeed as I am left with a fullscreen DirectX window even after the window has been destroyed and the device released.

1

There are 1 best solutions below

1
On BEST ANSWER

IUnknown::Release does not return a HRESULT as you assumed, it instead returns a ULONG indicating outstanding reference count (of this COM object).