#1
|
||||
|
||||
nVidia drivers or some other OS issue ?
I would like to ask if anyone has noticed this issue, started this July on some Windows machines.
The using of "EnumDisplayDevices" either Ansi or Unicode versions : Example code : https://stackoverflow.com/questions/9524309/enumdisplaydevices-function-not-working-for-me Code:
#include <windows.h> #include <stdio.h> #pragma comment(lib, "user32.lib") void DumpDevice(const DISPLAY_DEVICE& dd, size_t nSpaceCount ) { printf("%*sDevice Name: %s\n", nSpaceCount, "", dd.DeviceName ); printf("%*sDevice String: %s\n", nSpaceCount, "", dd.DeviceString ); printf("%*sState Flags: %x\n", nSpaceCount, "", dd.StateFlags ); printf("%*sDeviceID: %s\n", nSpaceCount, "", dd.DeviceID ); printf("%*sDeviceKey: ...%s\n\n", nSpaceCount, "", dd.DeviceKey+42 ); } int main() { DISPLAY_DEVICE dd; dd.cb = sizeof(DISPLAY_DEVICE); DWORD deviceNum = 0; while( EnumDisplayDevices(NULL, deviceNum, &dd, 0) ){ DumpDevice( dd, 0 ); DISPLAY_DEVICE newdd = {0}; newdd.cb = sizeof(DISPLAY_DEVICE); DWORD monitorNum = 0; while ( EnumDisplayDevices(dd.DeviceName, monitorNum, &newdd, 0)) { DumpDevice( newdd, 4 ); monitorNum++; } puts(""); deviceNum++; } return 0; } The problems seems to be related to the drivers or some other recent Windows update, The value of "dd.DeviceString" will have a random suffix : "NVIDIA GeForce GTX 1060 6GB#0x1e00303a45ed6a6a#" The expected value is "NVIDIA GeForce GTX 1060 6GB" but it adds this "#0x1e00303a45ed6a6a#" value which seems to be a formatted memory address or something else, anyway it is not supposed to be there and it is definitely not related to forgetting to Zero-fill the buffer before calling the API. This value seems to be added in registry too after a fresh driver install and a Windows reboot. Anyone noticed this weird issue lately with nVidia or AMD ? |
#2
|
|||
|
|||
Interesting issue. Did some registry checks out of curiosity and updated my graphics driver to the latest. Win10 x64 Version 22H2 (19045.4651).
For NVIDIA driver package 551.86: DriverDate = 3-12-2024 DriverVersion = 31.0.15.5186 DriverDesc = NVIDIA GeForce GTX 1060 3GB HardwareInformation.AdapterString = NVIDIA GeForce GTX 1060 3GB HardwareInformation.ChipType = NVIDIA GeForce GTX 1060 3GB For NVIDIA driver package 560.70: DriverDate = 7-10-2024 DriverVersion = 32.0.15.6070 DriverDesc = NVIDIA GeForce GTX 1060 3GB HardwareInformation.AdapterString = NVIDIA GeForce GTX 1060 3GB HardwareInformation.ChipType = NVIDIA GeForce GTX 1060 3GB So at least I can't see the same issue in the registry with my current setup. Did not compile any code to test API results. |
#3
|
|||
|
|||
For NVIDIA driver package 475.06:
DriverDate = 05/01/2024 DriverVersion = 30.0.14.7506 always without any issue Device String: NVIDIA GeForce GTX 1050 Ti |
#4
|
||||
|
||||
Thanks for your time, it seems to be happening in Windows 10 / 11 on some machines for Chinese users, you will also see the "DeviceDesc" in registry filled with this corrupted string in case you have this issue.
still a mystery ! |
Thread Tools | |
Display Modes | |
|
|