Changeset 55588 in vbox for trunk/src/VBox/Main/src-client/GuestProcessImpl.cpp
- Timestamp:
- May 1, 2015 7:37:46 PM (10 years ago)
- svn:sync-xref-src-repo-rev:
- 99961
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/src-client/GuestProcessImpl.cpp
r55540 r55588 304 304 305 305 AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS); 306 mData.mProcess.mEnvironment. CopyTo(aEnvironment);306 mData.mProcess.mEnvironment.queryPutEnvArray(&aEnvironment); 307 307 return S_OK; 308 308 #endif /* VBOX_WITH_GUEST_CONTROL */ … … 1054 1054 1055 1055 /* Prepare environment. */ 1056 void *pvEnv = NULL;1057 size_t cbEnv = 0;1056 size_t cbEnvBlock; 1057 char *pszzEnvBlock; 1058 1058 if (RT_SUCCESS(vrc)) 1059 vrc = mData.mProcess.mEnvironment. BuildEnvironmentBlock(&pvEnv, &cbEnv, NULL /* cEnv */);1059 vrc = mData.mProcess.mEnvironment.queryUtf8Block(&pszzEnvBlock, &cbEnvBlock); 1060 1060 1061 1061 if (RT_SUCCESS(vrc)) … … 1065 1065 int i = 0; 1066 1066 paParms[i++].setUInt32(pEvent->ContextID()); 1067 paParms[i++].setPointer((void*)mData.mProcess.mExecutable.c_str(), 1068 (ULONG)mData.mProcess.mExecutable.length() + 1); 1067 paParms[i++].setCppString(mData.mProcess.mExecutable); 1069 1068 paParms[i++].setUInt32(mData.mProcess.mFlags); 1070 1069 paParms[i++].setUInt32((uint32_t)mData.mProcess.mArguments.size()); 1071 paParms[i++].setPointer( (void*)pszArgs, (uint32_t)cbArgs);1072 paParms[i++].setUInt32( (uint32_t)mData.mProcess.mEnvironment.Size());1073 paParms[i++].setUInt32((uint32_t)cbEnv );1074 paParms[i++].setPointer( (void*)pvEnv, (uint32_t)cbEnv);1070 paParms[i++].setPointer(pszArgs, (uint32_t)cbArgs); 1071 paParms[i++].setUInt32(mData.mProcess.mEnvironment.count()); 1072 paParms[i++].setUInt32((uint32_t)cbEnvBlock); 1073 paParms[i++].setPointer(pszzEnvBlock, (uint32_t)cbEnvBlock); 1075 1074 if (uProtocol < 2) 1076 1075 { … … 1078 1077 * call. In newer protocols these credentials are part of the opened guest 1079 1078 * session, so not needed anymore here. */ 1080 paParms[i++].set Pointer((void*)sessionCreds.mUser.c_str(), (ULONG)sessionCreds.mUser.length() + 1);1081 paParms[i++].set Pointer((void*)sessionCreds.mPassword.c_str(), (ULONG)sessionCreds.mPassword.length() + 1);1079 paParms[i++].setCppString(sessionCreds.mUser); 1080 paParms[i++].setCppString(sessionCreds.mPassword); 1082 1081 } 1083 1082 /* … … 1098 1097 paParms[i++].setUInt32(1); 1099 1098 /* The actual CPU affinity blocks. */ 1100 paParms[i++].setPointer((void *)&mData.mProcess.mAffinity, sizeof(mData.mProcess.mAffinity));1099 paParms[i++].setPointer((void *)&mData.mProcess.mAffinity, sizeof(mData.mProcess.mAffinity)); 1101 1100 } 1102 1101 … … 1109 1108 AssertRC(rc2); 1110 1109 } 1111 } 1112 1113 GuestEnvironment::FreeEnvironmentBlock(pvEnv); 1110 1111 mData.mProcess.mEnvironment.freeUtf8Block(pszzEnvBlock); 1112 } 1113 1114 1114 if (pszArgs) 1115 1115 RTStrFree(pszArgs);
Note:
See TracChangeset
for help on using the changeset viewer.