Direct Composition, IDCompositionGaussianBlurEffect Throwing Access Violation Exception
See the question and my original answer on StackOverflowThere are two problems:
1.dcomp
implementation seems strange to be the least because it answers this successfully but dcompDevice3 is in fact broken somehow, hence the crash:
ComPtr<IDCompositionDevice3> dcompDevice3;
HR(dcompDevice->QueryInterface(__uuidof(IDCompositionDevice), (LPVOID*)&dcompDevice3))
2.and your code is also bad as it should be this:
HR(DCompositionCreateDevice3( // only this factory can give you an IDCompositionDevice3 implementation
dxgiDevice.Get(),
__uuidof(dcompDevice),
reinterpret_cast<void**>(dcompDevice.GetAddressOf())));
ComPtr<IDCompositionDevice3> dcompDevice3;
HR(dcompDevice->QueryInterface(__uuidof(IDCompositionDevice3), (LPVOID*)&dcompDevice3)); // use IDCompositionDevice3 here
And now it should work, at least, continue.