以下程序在我完全修补的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的原因在那里,以防它将来帮助任何人。< / p>
也对其他人是否能够可靠地再现它感兴趣。
如果您发表深思熟虑/有趣/相关的回复/回答/讨论,那么代表就是您的!