settings->DisableWallpaper = TRUE;
settings->DisableFullWindowDrag = TRUE;
}
+ CommandLineSwitchCase(arg, "app-workdir")
+ {
+ if (!copy_value(arg->Value, &settings->RemoteApplicationWorkingDir))
+ return COMMAND_LINE_ERROR_MEMORY;
+ }
CommandLineSwitchCase(arg, "load-balance-info")
{
if (!copy_value(arg->Value, (char**)&settings->LoadBalanceInfo))
{ "app-guid", COMMAND_LINE_VALUE_REQUIRED, "<app-guid>", NULL, NULL, -1, NULL, "Remote application GUID" },
{ "app-icon", COMMAND_LINE_VALUE_REQUIRED, "<icon-path>", NULL, NULL, -1, NULL, "Remote application icon for user interface" },
{ "app-name", COMMAND_LINE_VALUE_REQUIRED, "<app-name>", NULL, NULL, -1, NULL, "Remote application name for user interface" },
+ { "app-workdir", COMMAND_LINE_VALUE_REQUIRED, "<workspace path>", NULL, NULL, -1, NULL, "Remote application workspace path" },
{ "assistance", COMMAND_LINE_VALUE_REQUIRED, "<password>", NULL, NULL, -1, NULL, "Remote assistance password" },
{ "async-channels", COMMAND_LINE_VALUE_BOOL, NULL, BoolValueFalse, NULL, -1, NULL, "Asynchronous channels (experimental)" },
{ "async-input", COMMAND_LINE_VALUE_BOOL, NULL, BoolValueFalse, NULL, -1, NULL, "Asynchronous input" },
#define FreeRDP_RemoteWndSupportLevel (2125)
#define FreeRDP_RemoteApplicationSupportLevel (2126)
#define FreeRDP_RemoteApplicationSupportMask (2127)
+#define FreeRDP_RemoteApplicationWorkingDir (2128)
#define FreeRDP_ReceivedCapabilities (2240)
#define FreeRDP_ReceivedCapabilitiesSize (2241)
#define FreeRDP_OsMajorType (2304)
ALIGN64 UINT32 RemoteWndSupportLevel; /* 2125 */
ALIGN64 UINT32 RemoteApplicationSupportLevel; /* 2126 */
ALIGN64 UINT32 RemoteApplicationSupportMask; /* 2127 */
- UINT64 padding2176[2176 - 2128]; /* 2128 */
+ ALIGN64 char* RemoteApplicationWorkingDir; /* 2128 */
+ UINT64 padding2176[2176 - 2129]; /* 2129 */
UINT64 padding2240[2240 - 2176]; /* 2176 */
/**
case FreeRDP_RemoteApplicationCmdLine:
return settings->RemoteApplicationCmdLine;
+ case FreeRDP_RemoteApplicationWorkingDir:
+ return settings->RemoteApplicationWorkingDir;
+
case FreeRDP_ImeFileName:
return settings->ImeFileName;
settings->RemoteApplicationCmdLine = _strdup(val);
return settings->RemoteApplicationCmdLine != NULL;
+ case FreeRDP_RemoteApplicationWorkingDir:
+ free(settings->RemoteApplicationWorkingDir);
+ settings->RemoteApplicationWorkingDir = _strdup(val);
+ return settings->RemoteApplicationWorkingDir != NULL;
+
case FreeRDP_ImeFileName:
free(settings->ImeFileName);
settings->ImeFileName = _strdup(val);
FreeRDP_RemoteApplicationFile,
FreeRDP_RemoteApplicationGuid,
FreeRDP_RemoteApplicationCmdLine,
+ FreeRDP_RemoteApplicationWorkingDir,
FreeRDP_ImeFileName,
FreeRDP_DrivesToRedirect,
};