wglMakeCurrent FAILS используя DetourCreateProcessWithDll

Я использую DetourCreateProcesswithDLL в Visual Studio 2010 и предоставление заменяющих dll для Opengl32.dll, glu32.dll и glut32.dll при создании процесса для демонстрационного приложения abgr.exe из демонстрационных программ glut.

Таким образом, я перехватываю библиотеки Opengl32, glu32, glut32. Затем API вызывает соответствующий API из системной папки или обычных DLL-файлов.

Эти библиотеки имеют все apis, определенные в соответствующих библиотеках.

Проблема в том, что wglMakeCurrent возвращает 0 или завершается неудачно с демонстрационным приложением с переизбытком, таким как abgr.exe на NVidia GTX480 на Win 7 x64 bit. Он также не работает с другими демонстрационными приложениями.

Это работает, если я изменяю Совместимость abgr.exe или исполняемого файла GLIntercept, который вызывает DetourCreateProcesswithDLL, т.е. щелкните правой кнопкой мыши на exe -> изменить свойства -> совместимость -> проверить запуск в 256 цветов.

Однако это выглядит как обходной путь, и дисплей выглядит не так хорошо. Как я могу использовать без необходимости делать это. Как получить хорошую ценность для wglMakeCurrent,wglMakeCurrent вызывается изнутри glutCreateWindow,

Это не проблема для AMD Fusion GPU. Там wglMakeCurrent и возвращает хорошее значение. Проблема только на NVIDIA GTX 480. Кто-нибудь знает, как решить эту проблему? Я обновил драйвер и показывает версию 4.3.790.0 в Справке панели управления NVIDIA-> О программе.

wglCreateContext возвращает 0x00010000

0 ответов

Другие вопросы по тегам