Changeset 29516 in vbox
- Timestamp:
- May 17, 2010 9:55:17 AM (15 years ago)
- Location:
- trunk
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/HostServices/GuestControlSvc.h
r29438 r29516 244 244 HGCMFunctionParameter env; 245 245 246 HGCMFunctionParameter std_in;247 248 HGCMFunctionParameter std_out;249 250 HGCMFunctionParameter std_err;251 252 246 HGCMFunctionParameter username; 253 247 -
trunk/include/VBox/VBoxGuestLib.h
r29438 r29516 517 517 char *pszArgs, uint32_t cbArgs, uint32_t *puNumArgs, 518 518 char *pszEnv, uint32_t *pcbEnv, uint32_t *puNumEnvVars, 519 char *pszStdIn, uint32_t cbStdIn,520 char *pszStdOut, uint32_t cbStdOut,521 char *pszStdErr, uint32_t cbStdErr,522 519 char *pszUser, uint32_t cbUser, 523 520 char *pszPassword, uint32_t cbPassword, -
trunk/src/VBox/Additions/common/VBoxGuestLib/VBoxGuestR3LibGuestCtrl.cpp
r29438 r29516 174 174 char *pszArgs, uint32_t cbArgs, uint32_t *puNumArgs, 175 175 char *pszEnv, uint32_t *pcbEnv, uint32_t *puNumEnvVars, 176 char *pszStdIn, uint32_t cbStdIn,177 char *pszStdOut, uint32_t cbStdOut,178 char *pszStdErr, uint32_t cbStdErr,179 176 char *pszUser, uint32_t cbUser, 180 177 char *pszPassword, uint32_t cbPassword, … … 189 186 AssertPtr(pcbEnv); 190 187 AssertPtr(puNumEnvVars); 191 AssertPtr(pszStdIn);192 AssertPtr(pszStdOut);193 AssertPtr(pszStdOut);194 AssertPtr(pszStdErr);195 188 AssertPtr(pszUser); 196 189 AssertPtr(pszPassword); … … 212 205 VbglHGCMParmUInt32Set(&Msg.cb_env, 0); 213 206 VbglHGCMParmPtrSet(&Msg.env, pszEnv, *pcbEnv); 214 VbglHGCMParmPtrSet(&Msg.std_in, pszStdIn, cbStdIn);215 VbglHGCMParmPtrSet(&Msg.std_out, pszStdOut, cbStdOut);216 VbglHGCMParmPtrSet(&Msg.std_err, pszStdErr, cbStdErr);217 207 VbglHGCMParmPtrSet(&Msg.username, pszUser, cbUser); 218 208 VbglHGCMParmPtrSet(&Msg.password, pszPassword, cbPassword); -
trunk/src/VBox/Additions/common/VBoxService/VBoxServiceControl.cpp
r29515 r29516 136 136 /* Environment */ 137 137 szEnv, &cbEnv, &uNumEnvVars, 138 /* Pipes */139 szStdIn, sizeof(szStdIn),140 szStdOut, sizeof(szStdOut),141 szStdErr, sizeof(szStdErr),142 138 /* Credentials */ 143 139 szUser, sizeof(szUser), … … 153 149 rc = VBoxServiceControlExecProcess(uContextID, szCmd, uFlags, szArgs, uNumArgs, 154 150 szEnv, cbEnv, uNumEnvVars, 155 szStdIn, szStdOut, szStdErr,156 151 szUser, szPassword, uTimeLimitMS); 157 152 } -
trunk/src/VBox/Additions/common/VBoxService/VBoxServiceControlExec.cpp
r29315 r29516 643 643 const char *pszArgs, uint32_t uNumArgs, 644 644 const char *pszEnv, uint32_t cbEnv, uint32_t uNumEnvVars, 645 const char *pszStdIn, const char *pszStdOut, const char *pszStdErr,646 645 const char *pszUser, const char *pszPassword, uint32_t uTimeLimitMS) 647 646 { … … 700 699 } 701 700 702 pData->pszStdIn = RTStrDup(pszStdIn);703 pData->pszStdOut = RTStrDup(pszStdOut);704 pData->pszStdErr = RTStrDup(pszStdErr);705 701 pData->pszUser = RTStrDup(pszUser); 706 702 pData->pszPassword = RTStrDup(pszPassword); … … 743 739 } 744 740 RTGetOptArgvFree(pData->papszArgs); 745 RTStrFree(pData->pszStdIn);746 RTStrFree(pData->pszStdOut);747 RTStrFree(pData->pszStdErr);748 741 RTStrFree(pData->pszUser); 749 742 RTStrFree(pData->pszPassword); … … 909 902 const char *pszArgs, uint32_t uNumArgs, 910 903 const char *pszEnv, uint32_t cbEnv, uint32_t uNumEnvVars, 911 const char *pszStdIn, const char *pszStdOut, const char *pszStdErr,912 904 const char *pszUser, const char *pszPassword, uint32_t uTimeLimitMS) 913 905 { … … 922 914 pszArgs, uNumArgs, 923 915 pszEnv, cbEnv, uNumEnvVars, 924 pszStdIn, pszStdOut, pszStdErr,925 916 pszUser, pszPassword, 926 917 uTimeLimitMS); -
trunk/src/VBox/Additions/common/VBoxService/VBoxServiceInternal.h
r29313 r29516 154 154 char **papszEnv; 155 155 uint32_t uNumEnvVars; 156 char *pszStdIn;157 char *pszStdOut;158 char *pszStdErr;159 156 char *pszUser; 160 157 char *pszPassword; … … 302 299 const char *pszArgs, uint32_t uNumArgs, 303 300 const char *pszEnv, uint32_t cbEnv, uint32_t uNumEnvVars, 304 const char *pszStdIn, const char *pszStdOut, const char *pszStdErr,305 301 const char *pszUser, const char *pszPassword, uint32_t uTimeLimitMS); 306 302 extern void VBoxServiceControlExecDestroyThreadData(PVBOXSERVICECTRLTHREADDATAEXEC pThread); -
trunk/src/VBox/Frontends/VBoxManage/VBoxManageGuestCtrl.cpp
r29508 r29516 98 98 com::SafeArray <BSTR> args; 99 99 com::SafeArray <BSTR> env; 100 Utf8Str Utf8StdIn;101 Utf8Str Utf8StdOut;102 Utf8Str Utf8StdErr;103 100 Utf8Str Utf8UserName; 104 101 Utf8Str Utf8Password; … … 297 294 CHECK_ERROR_BREAK(guest, ExecuteProcess(Bstr(Utf8Cmd), uFlags, 298 295 ComSafeArrayAsInParam(args), ComSafeArrayAsInParam(env), 299 Bstr(Utf8StdIn), Bstr(Utf8StdOut), Bstr(Utf8StdErr),300 296 Bstr(Utf8UserName), Bstr(Utf8Password), u32TimeoutMS, 301 297 &uPID, progress.asOutParam())); -
trunk/src/VBox/Main/GuestImpl.cpp
r29512 r29516 725 725 STDMETHODIMP Guest::ExecuteProcess(IN_BSTR aCommand, ULONG aFlags, 726 726 ComSafeArrayIn(IN_BSTR, aArguments), ComSafeArrayIn(IN_BSTR, aEnvironment), 727 IN_BSTR aStdIn, IN_BSTR aStdOut, IN_BSTR aStdErr,728 727 IN_BSTR aUserName, IN_BSTR aPassword, 729 728 ULONG aTimeoutMS, ULONG *aPID, IProgress **aProgress) … … 790 789 } 791 790 792 Utf8Str Utf8StdIn(aStdIn);793 Utf8Str Utf8StdOut(aStdOut);794 Utf8Str Utf8StdErr(aStdErr);795 791 Utf8Str Utf8UserName(aUserName); 796 792 Utf8Str Utf8Password(aPassword); … … 840 836 paParms[i++].setUInt32(cbEnv); 841 837 paParms[i++].setPointer((void*)pvEnv, cbEnv); 842 paParms[i++].setPointer((void*)Utf8StdIn.raw(), (uint32_t)strlen(Utf8StdIn.raw()) + 1);843 paParms[i++].setPointer((void*)Utf8StdOut.raw(), (uint32_t)strlen(Utf8StdOut.raw()) + 1);844 paParms[i++].setPointer((void*)Utf8StdErr.raw(), (uint32_t)strlen(Utf8StdErr.raw()) + 1);845 838 paParms[i++].setPointer((void*)Utf8UserName.raw(), (uint32_t)strlen(Utf8UserName.raw()) + 1); 846 839 paParms[i++].setPointer((void*)Utf8Password.raw(), (uint32_t)strlen(Utf8Password.raw()) + 1); -
trunk/src/VBox/Main/idl/VirtualBox.xidl
r29481 r29516 8497 8497 <interface 8498 8498 name="IGuest" extends="$unknown" 8499 uuid=" 909a8633-6e99-4d05-a305-dfe29ca1bc1c"8499 uuid="25efde01-dd0b-43b0-9ceb-e4e6307107ac" 8500 8500 wsmap="managed" 8501 8501 > … … 8673 8673 executed, in form of "NAME=VALUE"; one pair per entry. To unset a 8674 8674 variable just set its name ("NAME") without a value. 8675 </desc>8676 </param>8677 <param name="stdIn" type="wstring" dir="in">8678 <desc>8679 What to do with the standard input (stdin) of the command being8680 executed. Currently not used and has to be set to an empty value.8681 </desc>8682 </param>8683 <param name="stdOut" type="wstring" dir="in">8684 <desc>8685 What to do with the standard output (stdout) of the command being8686 executed. Currently not used and has to be set to an empty value.8687 </desc>8688 </param>8689 <param name="stdErr" type="wstring" dir="in">8690 <desc>8691 What to do with the standard error (stderr) of the command being8692 executed. Currently not used and has to be set to an empty value.8693 8675 </desc> 8694 8676 </param> -
trunk/src/VBox/Main/include/GuestImpl.h
r29460 r29516 90 90 STDMETHOD(ExecuteProcess)(IN_BSTR aCommand, ULONG aFlags, 91 91 ComSafeArrayIn(IN_BSTR, aArguments), ComSafeArrayIn(IN_BSTR, aEnvironment), 92 IN_BSTR aStdIn, IN_BSTR aStdOut, IN_BSTR aStdErr,93 92 IN_BSTR aUserName, IN_BSTR aPassword, 94 93 ULONG aTimeoutMS, ULONG *aPID, IProgress **aProgress);
Note:
See TracChangeset
for help on using the changeset viewer.