Exetools

Exetools (https://forum.exetools.com/index.php)
-   General Discussion (https://forum.exetools.com/forumdisplay.php?f=2)
-   -   nVidia drivers or some other OS issue ? (https://forum.exetools.com/showthread.php?t=21057)

Kurapica 07-21-2024 03:03

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 ?

Auremnia 07-21-2024 13:52

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.

FoxB 07-21-2024 14:22

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

Kurapica 07-22-2024 00:37

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 !


All times are GMT +8. The time now is 20:53.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2026, vBulletin Solutions, Inc.
Always Your Best Friend: Aaron, JMI, ahmadmansoor, ZeNiX