[WIN32SS] EnumDisplayDevices: Fill DeviceID field properly

- [VIDEOPRT] Return the real PhysicalDeviceObject in Win32k callbacks.

- [WIN32SS:ENG] Pass PhysDeviceObject into the GraphicsDevice structure
  and rename the destination field accordingly.

- [WIN32SS:NTUSER] Request hardware identifiers from device PDO and
  fill DISPLAY_DEVICE's DeviceID field with the first identifier.

Now it's correctly passed to the usermode, and Desktop Propertes applet
can open the video adapter device properties.

Thanks to Hervé Poussineau for the help.

CORE-18197 CORE-11715
This commit is contained in:
Stanislav Motylkov 2022-05-24 02:54:57 +03:00
parent ee613a18eb
commit 31827c43b6
No known key found for this signature in database
GPG key ID: AFE513258CBA9E92
4 changed files with 58 additions and 5 deletions

View file

@ -61,7 +61,7 @@ typedef struct _GRAPHICS_DEVICE
struct _GRAPHICS_DEVICE * pNextGraphicsDevice;
struct _GRAPHICS_DEVICE * pVgaDevice;
PDEVICE_OBJECT DeviceObject;
PVOID pDeviceHandle;
PDEVICE_OBJECT PhysDeviceHandle;
DWORD hkClassDriverConfig;
DWORD StateFlags; /* See DISPLAY_DEVICE_* */
ULONG cbdevmodeInfo;