Changeset 3558 in vbox for trunk/src/VBox/Additions/WINNT/Graphics/Miniport/VBoxVideo.cpp
- Timestamp:
- Jul 11, 2007 3:48:34 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/WINNT/Graphics/Miniport/VBoxVideo.cpp
r3552 r3558 1464 1464 case IOCTL_VIDEO_VBOX_SETVISIBLEREGION: 1465 1465 { 1466 if (RequestPacket->InputBufferLength < sizeof(RTRECT)) 1466 uint32_t cRect = RequestPacket->InputBufferLength/sizeof(RTRECT); 1467 int rc; 1468 1469 dprintf(("IOCTL_VIDEO_VBOX_SETVISIBLEREGION cRect=%d\n", cRect)); 1470 if ( RequestPacket->InputBufferLength < sizeof(RTRECT) 1471 || RequestPacket->InputBufferLength != cRect*sizeof(RTRECT)) 1467 1472 { 1468 1473 dprintf(("VBoxVideo::IOCTL_VIDEO_VBOX_SETVISIBLEREGION: output buffer too small: %d needed: %d!!!\n", … … 1471 1476 return FALSE; 1472 1477 } 1473 break; 1478 /* 1479 * Inform the host about the visible region 1480 */ 1481 VMMDevVideoSetVisibleRegion *req = NULL; 1482 1483 rc = VbglGRAlloc ((VMMDevRequestHeader **)&req, 1484 sizeof (VMMDevVideoSetVisibleRegion) + (cRect-1)*sizeof(RTRECT), 1485 VMMDevReq_VideoSetVisibleRegion); 1486 1487 if (VBOX_SUCCESS(rc)) 1488 { 1489 memcpy(&req->Rect, RequestPacket->InputBuffer, cRect*sizeof(RTRECT)); 1490 1491 rc = VbglGRPerform (&req->header); 1492 1493 if (VBOX_SUCCESS(rc) && VBOX_SUCCESS(req->header.rc)) 1494 { 1495 RequestPacket->StatusBlock->Status = NO_ERROR; 1496 break; 1497 } 1498 } 1499 dprintf(("VBoxVideo: failed with rc=%x (hdr.rc=%x)\n", rc, req->header.rc)); 1500 RequestPacket->StatusBlock->Status = ERROR_INVALID_FUNCTION; 1501 return FALSE; 1474 1502 } 1475 1503
Note:
See TracChangeset
for help on using the changeset viewer.