Block queries for undocumented DWM interfaces.

* Nomachine is one program that requests these, but has a fallback path for if
  they're not available. Denying the request makes things more compatible.
This commit is contained in:
baldurk committed 2019-02-01 18:32:14 +00:00
1 parent aa1df3cb1e
commit 3a79d7e069
1 file changed
+18
+18
View File
@@ -940,6 +940,14 @@ WrappedIDXGIFactory::~WrappedIDXGIFactory()
HRESULT STDMETHODCALLTYPE WrappedIDXGIFactory::QueryInterface(REFIID riid, void **ppvObject)
{
// {713f394e-92ca-47e7-ab81-1159c2791e54}
static const GUID IDXGIFactoryDWM_uuid = {
0x713f394e, 0x92ca, 0x47e7, {0xab, 0x81, 0x11, 0x59, 0xc2, 0x79, 0x1e, 0x54}};
// {1ddd77aa-9a4a-4cc8-9e55-98c196bafc8f}
static const GUID IDXGIFactoryDWM8_uuid = {
0x1ddd77aa, 0x9a4a, 0x4cc8, {0x9e, 0x55, 0x98, 0xc1, 0x96, 0xba, 0xfc, 0x8f}};
if(riid == __uuidof(IDXGIFactory))
{
AddRef();
@@ -1037,6 +1045,16 @@ HRESULT STDMETHODCALLTYPE WrappedIDXGIFactory::QueryInterface(REFIID riid, void
return E_NOINTERFACE;
}
}
else if(riid == IDXGIFactoryDWM_uuid)
{
RDCWARN("Blocking QueryInterface for IDXGIFactoryDWM");
return E_NOINTERFACE;
}
else if(riid == IDXGIFactoryDWM8_uuid)
{
RDCWARN("Blocking QueryInterface for IDXGIFactoryDWM8");
return E_NOINTERFACE;
}
else
{
WarnUnknownGUID("IDXGIFactory", riid);