Changeset 105749 in vbox for trunk/src/VBox/Additions/common
- Timestamp:
- Aug 21, 2024 9:31:01 AM (9 months ago)
- svn:sync-xref-src-repo-rev:
- 164461
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/common/VBoxService/VBoxServiceDisplayConfig.cpp
r105677 r105749 121 121 D3DKMT_ENUMADAPTERS EnumAdapters = {0}; 122 122 NTSTATUS rcNt; 123 uint32_t u32 Mask = 0;123 uint32_t u32ConnectMask = 0, u32DisconnectMask = 0; 124 124 125 125 for(uint32_t i = 0; i < cDisplays; i++) 126 126 { 127 u32Mask |= (paDisplays[i].fDisplayFlags & VMMDEV_DISPLAY_DISABLED) ? 0 : RT_BIT(i); 128 } 129 130 VGSvcVerbose(3, "ReconnectDisplays u32Mask 0x%x\n", u32Mask); 127 uint32_t u32Mask = RT_BIT(paDisplays[i].idDisplay); 128 129 if (paDisplays[i].fDisplayFlags & VMMDEV_DISPLAY_DISABLED) 130 u32DisconnectMask |= u32Mask; 131 else 132 u32ConnectMask |= u32Mask; 133 } 134 135 VGSvcVerbose(3, "ReconnectDisplays u32ConnectMask 0x%RX32, u32DisconnectMask 0x%RX32\n", u32ConnectMask, u32DisconnectMask); 131 136 132 137 EnumAdapters.NumAdapters = RT_ELEMENTS(EnumAdapters.Adapters); … … 152 157 if (hAdapter) 153 158 { 154 VBOXDISPIFESCAPE EscapeHdr = {0}; 155 EscapeHdr.escapeCode = VBOXESC_RECONNECT_TARGETS; 156 EscapeHdr.u32CmdSpecific = u32Mask; 159 VBOXDISPIFESCAPE_RECONNECT_TARGETS VBoxEscapeReconnectTargets = {{0}}; 160 161 VBoxEscapeReconnectTargets.EscapeHdr.escapeCode = VBOXESC_RECONNECT_TARGETS; 162 VBoxEscapeReconnectTargets.EscapeHdr.u32CmdSpecific = 0; 163 VBoxEscapeReconnectTargets.u32ConnectMask = u32ConnectMask; 164 VBoxEscapeReconnectTargets.u32DisconnectMask = u32DisconnectMask; 157 165 158 166 D3DKMT_ESCAPE EscapeData = {0}; … … 160 168 EscapeData.Type = D3DKMT_ESCAPE_DRIVERPRIVATE; 161 169 EscapeData.Flags.HardwareAccess = 1; 162 EscapeData.pPrivateDriverData = & EscapeHdr;163 EscapeData.PrivateDriverDataSize = sizeof ( EscapeHdr);170 EscapeData.pPrivateDriverData = &VBoxEscapeReconnectTargets; 171 EscapeData.PrivateDriverDataSize = sizeof (VBoxEscapeReconnectTargets); 164 172 165 173 rcNt = g_pfnD3DKMTEscape(&EscapeData); … … 272 280 for(uint32_t i = 0; i < cDisplays; i++) 273 281 { 274 VGSvcVerbose(2, " Display[%i] flags=%#x (%dx%d)\n", i,282 VGSvcVerbose(2, "%u) Display[%u] flags=%#x (%dx%d)\n", i, aDisplays[i].idDisplay, 275 283 aDisplays[i].fDisplayFlags, 276 284 aDisplays[i].cx, aDisplays[i].cy);
Note:
See TracChangeset
for help on using the changeset viewer.