Is it possible to overload the ID3D11Device in DirectX 11? I want the device to behave exactly like normal except for when resources are created in debug mode. Then I want to attach a memory tracking interface through the SetPrivateData functionality. When it comes to the code I manage by myself a wrapper object around the device would probably be all fine. However I would also like to be able to track allocations when the device gets passed to third party libraries. I created a very simple test environment with my custom device inheriting from ID3D11Device. But D3D11CreateDeviceAndSwapChain takes a double pointer to a ID3D11Device so I’m not sure it will be possible this way? Does anybody know how I can make this or is it just simply impossible?