1

以下程序在我完全修补的 Windows 7 机器和同事的 Windows 7 机器上导致 BSOD - 系统配置非常不同,所以我认为这不是驱动程序问题。似乎某些东西无法处理仅包含零显示频率的显示模式的请求。这是在 Visual Studio 2012 Update 3 下触发 BSOD 的代码:

#include <windows.h>

int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
    DEVMODE mode = { 0 };

    mode.dmSize = sizeof(DEVMODE);
    mode.dmFields = DM_DISPLAYFREQUENCY;

    ChangeDisplaySettings(&mode, CDS_FULLSCREEN);

    return 0;
}

ChangeDisplaySettings()在停止 BSOD 发生之前添加以下行:

    mode.dmDisplayFrequency = 60;

BSOD详细信息是:

*** STOP 0x0000007E (0xFFFFFFFFC0000094, 0xFFFFF96000685577, 0xFFFFF88015313638, 0xFFFFF88015312E90)
***      cdd.dll - Address FFFFF96000685577 base at FFFFF96000680000, DateStamp 4d4a90a5

我将其发布为一个问题,因为我很感兴趣是否有其他人注意到它或有任何评论,并且还因此存在此特定 BSOD 的原因,以防它在未来对任何人有所帮助。

还对其他人是否也能够可靠地复制它感兴趣。

如果您发布了深思熟虑/有趣/相关的回复/答案/讨论,那么代表就是您的了!

4

0 回答 0