Changeset 105408 in vbox for trunk/src/VBox/Additions
- Timestamp:
- Jul 18, 2024 6:19:16 PM (10 months ago)
- svn:sync-xref-src-repo-rev:
- 164062
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/WINNT/VBoxTray/VBoxCaps.cpp
r98103 r105408 43 43 } VBOXCAPS_ENTRY_ACSTATE; 44 44 45 46 45 struct VBOXCAPS_ENTRY; 47 46 struct VBOXCAPS; … … 67 66 static VBOXCAPS gVBoxCaps; 68 67 69 70 /* we need to perform Acquire/Release using the file handled we use for rewuesting events from VBoxGuest 71 * otherwise Acquisition mechanism will treat us as different client and will not propagate necessary requests 72 * */ 68 static const char* vboxCapsFuncState2Str(VBOXCAPS_ENTRY_FUNCSTATE state) 69 { 70 switch (state) 71 { 72 case VBOXCAPS_ENTRY_FUNCSTATE_UNSUPPORTED: return "unsupported"; 73 case VBOXCAPS_ENTRY_FUNCSTATE_SUPPORTED: return "supported"; 74 case VBOXCAPS_ENTRY_FUNCSTATE_STARTED: return "started"; 75 default: 76 return "unknown"; 77 } 78 } 79 80 static const char* vboxCapsAcquireState2Str(VBOXCAPS_ENTRY_ACSTATE state) 81 { 82 switch (state) 83 { 84 case VBOXCAPS_ENTRY_ACSTATE_RELEASED: return "released"; 85 case VBOXCAPS_ENTRY_ACSTATE_ACQUIRING: return "acquiring"; 86 case VBOXCAPS_ENTRY_ACSTATE_ACQUIRED: return "acquired"; 87 default: 88 return "unknown"; 89 } 90 } 91 92 static const char* vboxCapsIdx2Str(uint32_t iCap) 93 { 94 switch (iCap) 95 { 96 case VBOXCAPS_ENTRY_IDX_SEAMLESS: return "SEAMLESS"; 97 case VBOXCAPS_ENTRY_IDX_GRAPHICS: return "GRAPHICS"; 98 default: 99 return "unknown"; 100 } 101 } 102 73 103 int VBoxAcquireGuestCaps(uint32_t fOr, uint32_t fNot, bool fCfg) 74 104 { 75 Log (("VBoxAcquireGuestCapsor(0x%x), not(0x%x), cfx(%d)\n", fOr, fNot, fCfg));105 LogFunc(("or(0x%x), not(0x%x), cfx(%d)\n", fOr, fNot, fCfg)); 76 106 int rc = VbglR3AcquireGuestCaps(fOr, fNot, fCfg); 77 107 if (RT_FAILURE(rc)) … … 85 115 if (fEnabled) 86 116 { 87 Log (("vboxCapsOnEnableSeamless:ENABLED\n"));117 LogFunc(("ENABLED\n")); 88 118 Assert(pCap->enmAcState == VBOXCAPS_ENTRY_ACSTATE_ACQUIRED); 89 119 Assert(pCap->enmFuncState == VBOXCAPS_ENTRY_FUNCSTATE_STARTED); … … 92 122 else 93 123 { 94 Log (("vboxCapsOnEnableSeamless:DISABLED\n"));124 LogFunc(("DISABLED\n")); 95 125 Assert(pCap->enmAcState != VBOXCAPS_ENTRY_ACSTATE_ACQUIRED || pCap->enmFuncState != VBOXCAPS_ENTRY_FUNCSTATE_STARTED); 96 126 VBoxSeamlessDisable(); … … 102 132 VBOXCAPS *pConsole = &gVBoxCaps; 103 133 104 Log (("vboxCapsEntryAcStateSet: new stateenmAcState(%d); pCap: fCap(%d), iCap(%d), enmFuncState(%d), enmAcState(%d)\n",105 134 LogFunc(("new enmAcState(%d); pCap: fCap(%d), iCap(%d), enmFuncState(%d), enmAcState(%d)\n", 135 enmAcState, pCap->fCap, pCap->iCap, pCap->enmFuncState, pCap->enmAcState)); 106 136 107 137 if (pCap->enmAcState == enmAcState) … … 124 154 pCap->pfnOnEnable(pConsole, pCap, FALSE); 125 155 } 156 157 LogFunc(("%s %s -> %s\n", vboxCapsIdx2Str(pCap->iCap), 158 vboxCapsAcquireState2Str(enmOldAcState), vboxCapsAcquireState2Str(enmAcState))); 126 159 } 127 160 … … 130 163 VBOXCAPS *pConsole = &gVBoxCaps; 131 164 132 Log (("vboxCapsEntryFuncStateSet: new state enmAcState(%d); pCap:fCap(%d), iCap(%d), enmFuncState(%d), enmAcState(%d)\n",133 165 LogFunc(("new enmFuncState(%d); fCap(%d), iCap(%d), enmFuncState(%d), enmAcState(%d)\n", 166 enmFuncState, pCap->fCap, pCap->iCap, pCap->enmFuncState, pCap->enmAcState)); 134 167 135 168 if (pCap->enmFuncState == enmFuncState) … … 154 187 pCap->pfnOnEnable(pConsole, pCap, FALSE); 155 188 } 189 190 LogFunc((" %s %s -> %s\n", vboxCapsIdx2Str(pCap->iCap), 191 vboxCapsFuncState2Str(enmOldFuncState), vboxCapsFuncState2Str(enmFuncState))); 156 192 } 157 193 … … 182 218 if (!RT_SUCCESS(rc)) 183 219 { 184 LogFlowFunc((" vboxCapsEntryReleaseAll VBoxAcquireGuestCapsfailed rc %d\n", rc));220 LogFlowFunc(("failed rc %d\n", rc)); 185 221 return rc; 186 222 } … … 188 224 if (pConsole->idTimer) 189 225 { 190 Log (("killing console timer\n"));226 LogFunc(("killing console timer\n")); 191 227 KillTimer(g_hwndToolWindow, pConsole->idTimer); 192 228 pConsole->idTimer = 0; … … 285 321 Assert(VBoxConsoleIsAllowed()); 286 322 VBOXCAPS_ENTRY *pCap = &pConsole->aCaps[iCap]; 287 Log (("VBoxCapsEntryAcquire%d\n", iCap));323 LogFunc(("%d\n", iCap)); 288 324 if (pCap->enmAcState != VBOXCAPS_ENTRY_ACSTATE_RELEASED) 289 325 { … … 302 338 if (rc != VERR_RESOURCE_BUSY) 303 339 { 304 LogFlowFunc((" vboxCapsEntryReleaseAllVBoxAcquireGuestCaps failed rc %d\n", rc));340 LogFlowFunc(("VBoxAcquireGuestCaps failed rc %d\n", rc)); 305 341 return rc; 306 342 } … … 327 363 { 328 364 VBOXCAPS *pConsole = &gVBoxCaps; 329 Log (("VBoxCapsAcquireAllSupported\n"));365 LogFlowFuncEnter(); 330 366 for (int i = 0; i < RT_ELEMENTS(pConsole->aCaps); ++i) 331 367 { 332 368 if (pConsole->aCaps[i].enmFuncState >= VBOXCAPS_ENTRY_FUNCSTATE_SUPPORTED) 333 369 { 334 Log (("VBoxCapsAcquireAllSupportedacquiring cap %d, state %d\n", i, pConsole->aCaps[i].enmFuncState));370 LogFunc(("acquiring cap %d, state %d\n", i, pConsole->aCaps[i].enmFuncState)); 335 371 VBoxCapsEntryAcquire(i); 336 372 } 337 373 else 338 374 { 339 LogFlowFunc((" VBoxCapsAcquireAllSupported:WARN: cap %d not supported, state %d\n", i, pConsole->aCaps[i].enmFuncState));375 LogFlowFunc(("WARN: cap %d not supported, state %d\n", i, pConsole->aCaps[i].enmFuncState)); 340 376 } 341 377 }
Note:
See TracChangeset
for help on using the changeset viewer.