VirtualBox

Changeset 32661 in vbox


Ignore:
Timestamp:
Sep 21, 2010 11:57:05 AM (14 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
66074
Message:

VBoxGuest/WINNT: Extended IOCtl-handling for dumping guest cores.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/WINNT/VBoxGuest/VBoxGuest.cpp

    r32607 r32661  
    13821382        }
    13831383#endif
     1384
     1385        case VBOXGUEST_IOCTL_WRITE_CORE_DUMP:
     1386        {
     1387            VBoxGuestWriteCoreDump *pInfo = (VBoxGuestWriteCoreDump *)pBuf;
     1388
     1389            if (pStack->Parameters.DeviceIoControl.OutputBufferLength != sizeof(VBoxGuestWriteCoreDump))
     1390            {
     1391                dprintf(("WRITE_CORE_DUMP: OutputBufferLength %d != sizeof(ULONG) %d\n",
     1392                         pStack->Parameters.DeviceIoControl.OutputBufferLength, sizeof(VBoxGuestWriteCoreDump)));
     1393                Status = STATUS_INVALID_PARAMETER;
     1394                break;
     1395            }
     1396
     1397            VMMDevReqWriteCoreDump *pReq = NULL;
     1398            int rc = VbglGRAlloc((VMMDevRequestHeader **)&pReq, sizeof(*pReq), VMMDevReq_WriteCoreDump);
     1399            if (RT_FAILURE(rc))
     1400            {
     1401                Log(("WRITE_CORE_DUMP: failed to allocate %u (%#x) bytes to cache the request. rc=%Rrc!!\n",
     1402                     sizeof(*pReq), sizeof(*pReq), rc));
     1403                Status = STATUS_UNSUCCESSFUL;
     1404            }
     1405            else
     1406            {
     1407                pReq->fFlags = pInfo->fFlags;
     1408                rc = VbglGRPerform(&pReq->header);
     1409                if (RT_FAILURE(rc))
     1410                    Log(("WRITE_CORE_DUMP: VbglGRPerform failed, rc=%Rrc!\n", rc));
     1411                VbglGRFree(&pReq->header);
     1412            }
     1413            break;
     1414        }
    13841415
    13851416#ifdef VBOX_WITH_MANAGEMENT
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette