Changeset 72352 in vbox for trunk/src/VBox/Additions/common/VBoxGuest
- Timestamp:
- May 26, 2018 12:37:50 PM (7 years ago)
- svn:sync-xref-src-repo-rev:
- 122809
- Location:
- trunk/src/VBox/Additions/common/VBoxGuest
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/common/VBoxGuest/VBoxGuest.cpp
r70873 r72352 2381 2381 case VMMDevReq_VideoSetVisibleRegion: 2382 2382 case VMMDevReq_GetDisplayChangeRequestEx: 2383 case VMMDevReq_GetDisplayChangeRequestMulti: 2383 2384 case VMMDevReq_GetSeamlessChangeRequest: 2384 2385 case VMMDevReq_GetVRDPChangeRequest: -
trunk/src/VBox/Additions/common/VBoxGuest/lib/VBoxGuestR0LibGenericRequest.cpp
r70873 r72352 82 82 */ 83 83 if ( pReq->requestType == VMMDevReq_ChangeMemBalloon 84 || pReq->requestType == VMMDevReq_GetDisplayChangeRequestMulti 84 85 #ifdef VBOX_WITH_64_BITS_GUESTS 85 86 || pReq->requestType == VMMDevReq_HGCMCall32 -
trunk/src/VBox/Additions/common/VBoxGuest/lib/VBoxGuestR3LibVideo.cpp
r70061 r72352 273 273 return getDisplayChangeRequest2(pcx, pcy, pcBits, piDisplay, fAck); 274 274 } 275 return rc; 276 } 277 278 279 /** 280 * Query the last display change request sent from the host to the guest. 281 * 282 * @returns iprt status value 283 * @param cDisplaysIn How many elements in the paDisplays array. 284 * @param pcDisplaysOut How many elements were returned. 285 * @param paDisplays Display information. 286 * @param fAck Whether or not to acknowledge the newest request sent by 287 * the host. If this is set, the function will return the 288 * most recent host request, otherwise it will return the 289 * last request to be acknowledged. 290 */ 291 VBGLR3DECL(int) VbglR3GetDisplayChangeRequestMulti(uint32_t cDisplaysIn, 292 uint32_t *pcDisplaysOut, 293 VMMDevDisplayDef *paDisplays, 294 bool fAck) 295 { 296 VMMDevDisplayChangeRequestMulti *pReq; 297 size_t cbDisplays; 298 size_t cbAlloc; 299 int rc = VINF_SUCCESS; 300 301 AssertReturn(cDisplaysIn > 0 && cDisplaysIn <= 64 /* VBOX_VIDEO_MAX_SCREENS */, VERR_INVALID_PARAMETER); 302 AssertPtrReturn(pcDisplaysOut, VERR_INVALID_PARAMETER); 303 AssertPtrReturn(paDisplays, VERR_INVALID_PARAMETER); 304 305 cbDisplays = cDisplaysIn * sizeof(VMMDevDisplayDef); 306 cbAlloc = RT_UOFFSETOF(VMMDevDisplayChangeRequestMulti, aDisplays) + cbDisplays; 307 pReq = (VMMDevDisplayChangeRequestMulti *)RTMemAllocZ(cbAlloc); 308 AssertPtrReturn(pReq, VERR_NO_MEMORY); 309 310 rc = vmmdevInitRequest(&pReq->header, VMMDevReq_GetDisplayChangeRequestMulti); 311 AssertRCReturnStmt(rc, RTMemFree(pReq), rc); 312 313 pReq->header.size += (uint32_t)cbDisplays; 314 pReq->cDisplays = cDisplaysIn; 315 if (fAck) 316 pReq->eventAck = VMMDEV_EVENT_DISPLAY_CHANGE_REQUEST; 317 318 rc = vbglR3GRPerform(&pReq->header); 319 AssertRCReturnStmt(rc, RTMemFree(pReq), rc); 320 321 rc = pReq->header.rc; 322 if (RT_SUCCESS(rc)) 323 { 324 memcpy(paDisplays, pReq->aDisplays, pReq->cDisplays * sizeof(VMMDevDisplayDef)); 325 *pcDisplaysOut = pReq->cDisplays; 326 } 327 328 RTMemFree(pReq); 275 329 return rc; 276 330 }
Note:
See TracChangeset
for help on using the changeset viewer.