VirtualBox

Changeset 36099 in vbox for trunk/src/VBox/Main/src-client


Ignore:
Timestamp:
Feb 28, 2011 2:20:13 PM (14 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
70251
Message:

Main/VBoxManage: Added ExecuteProcessStatus, update on todos.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/src-client/GuestCtrlImpl.cpp

    r35869 r36099  
    379379                             * canceled or we simply got all stuff transferred.
    380380                             */
    381                             ULONG uRetStatus, uRetExitCode;
    382                             rc = pGuest->waitForProcessStatusChange(uPID, &uRetStatus, &uRetExitCode, 10 * 1000 /* 10s timeout. */);
     381                            ExecuteProcessStatus retStatus;
     382                            ULONG uRetExitCode;
     383                            rc = pGuest->waitForProcessStatusChange(uPID, &retStatus, &uRetExitCode, 10 * 1000 /* 10s timeout. */);
    383384                            if (FAILED(rc))
    384385                            {
     
    388389                            {
    389390                                if (   uRetExitCode != 0
    390                                     || uRetStatus   != PROC_STS_TEN)
     391                                    || retStatus    != ExecuteProcessStatus_TerminatedNormally)
    391392                                {
    392393                                    rc = TaskGuest::setProgressErrorInfo(VBOX_E_IPRT_ERROR, aTask->progress,
     
    786787                    }
    787788
    788                     ULONG uRetStatus, uRetExitCode, uRetFlags;
    789                     rc = pGuest->GetProcessStatus(uPID, &uRetExitCode, &uRetFlags, &uRetStatus);
     789                    ExecuteProcessStatus retStatus;
     790                    ULONG uRetExitCode, uRetFlags;
     791                    rc = pGuest->GetProcessStatus(uPID, &uRetExitCode, &uRetFlags, &retStatus);
    790792                    if (SUCCEEDED(rc))
    791793                    {
     
    802804                            {
    803805                                LogRel(("Guest Additions update failed (Exit code=%u, Status=%u, Flags=%u)\n",
    804                                         uRetExitCode, uRetStatus, uRetFlags));
     806                                        uRetExitCode, retStatus, uRetFlags));
    805807                                rc = TaskGuest::setProgressErrorInfo(VBOX_E_IPRT_ERROR, aTask->progress,
    806808                                                                     Guest::tr("Guest Additions update failed with exit code=%u (status=%u, flags=%u)"),
    807                                                                      uRetExitCode, uRetStatus, uRetFlags);
     809                                                                     uRetExitCode, retStatus, uRetFlags);
    808810                            }
    809811                        }
     
    814816                            rc = TaskGuest::setProgressErrorInfo(VBOX_E_IPRT_ERROR, aTask->progress,
    815817                                                                 Guest::tr("Guest Additions update was canceled by the guest with exit code=%u (status=%u, flags=%u)"),
    816                                                                  uRetExitCode, uRetStatus, uRetFlags);
     818                                                                 uRetExitCode, retStatus, uRetFlags);
    817819                        }
    818820                        else
     
    11131115                    /* Not found, add to map. */
    11141116                    GuestProcess newProcess;
    1115                     newProcess.mStatus = pCBData->u32Status;
     1117                    newProcess.mStatus = (ExecuteProcessStatus)pCBData->u32Status;
    11161118                    newProcess.mExitCode = pCBData->u32Flags; /* Contains exit code. */
    11171119                    newProcess.mFlags = 0;
     
    11211123                else /* Update map. */
    11221124                {
    1123                     it_proc->second.mStatus = pCBData->u32Status;
     1125                    it_proc->second.mStatus = (ExecuteProcessStatus)pCBData->u32Status;
    11241126                    it_proc->second.mExitCode = pCBData->u32Flags; /* Contains exit code. */
    11251127                    it_proc->second.mFlags = 0;
     
    14251427}
    14261428
    1427 HRESULT Guest::waitForProcessStatusChange(ULONG uPID, ULONG *puRetStatus, ULONG *puRetExitCode, ULONG uTimeoutMS)
    1428 {
    1429     AssertPtr(puRetStatus);
     1429HRESULT Guest::waitForProcessStatusChange(ULONG uPID, ExecuteProcessStatus *pRetStatus, ULONG *puRetExitCode, ULONG uTimeoutMS)
     1430{
     1431    AssertPtr(pRetStatus);
    14301432    AssertPtr(puRetExitCode);
    14311433
     
    14501452            break;
    14511453        }
    1452         hRC = GetProcessStatus(uPID, puRetExitCode, &uRetFlagsIgnored, puRetStatus);
     1454        hRC = GetProcessStatus(uPID, puRetExitCode, &uRetFlagsIgnored, pRetStatus);
    14531455        if (FAILED(hRC))
    14541456            break;
    14551457        RTThreadSleep(100);
    1456     } while(*puRetStatus == PROC_STS_STARTED && SUCCEEDED(hRC));
     1458    } while(*pRetStatus == ExecuteProcessStatus_Started && SUCCEEDED(hRC));
    14571459    return hRC;
    14581460}
     
    18491851            {
    18501852                /* PID exists; check if process is still running. */
    1851                 if (itProc->second.mStatus != PROC_STS_STARTED)
     1853                if (itProc->second.mStatus != ExecuteProcessStatus_Started)
    18521854                    rc = setError(VBOX_E_IPRT_ERROR,
    18531855                                  Guest::tr("Cannot inject input to not running process (PID %u)"), aPID);
     
    22002202}
    22012203
    2202 STDMETHODIMP Guest::GetProcessStatus(ULONG aPID, ULONG *aExitCode, ULONG *aFlags, ULONG *aStatus)
     2204STDMETHODIMP Guest::GetProcessStatus(ULONG aPID, ULONG *aExitCode, ULONG *aFlags, ExecuteProcessStatus *aStatus)
    22032205{
    22042206#ifndef VBOX_WITH_GUEST_CONTROL
     
    24402442            if (fCompleted)
    24412443            {
    2442                 ULONG uRetStatus, uRetExitCode, uRetFlags;
     2444                ExecuteProcessStatus retStatus;
     2445                ULONG uRetExitCode, uRetFlags;
    24432446                if (SUCCEEDED(rc))
    24442447                {
    2445                     rc = GetProcessStatus(uPID, &uRetExitCode, &uRetFlags, &uRetStatus);
     2448                    rc = GetProcessStatus(uPID, &uRetExitCode, &uRetFlags, &retStatus);
    24462449                    if (SUCCEEDED(rc) && uRetExitCode != 0)
    24472450                    {
Note: See TracChangeset for help on using the changeset viewer.

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