add support for the "pcb" block in .rdp files provided by Project Honolulu in the VM interface

This commit is contained in:
Jakob Kaivo
2018-03-31 22:15:39 -04:00
parent e03333477a
commit 3a1d70d9ba
2 changed files with 12 additions and 0 deletions

View File

@@ -298,6 +298,8 @@ static int freerdp_client_rdp_file_set_string(rdpFile* file, const char* name, c
tmp = &file->DevicesToRedirect;
else if (_stricmp(name, "winposstr") == 0)
tmp = &file->WinPosStr;
else if (_stricmp(name, "pcb") == 0)
tmp = &file->PreconnectionBlob;
else
standard = 1;
@@ -612,6 +614,7 @@ BOOL freerdp_client_populate_rdp_file_from_settings(rdpFile* file, const rdpSett
SETTING_MODIFIED_SET_STRING(file->RemoteApplicationCmdLine, settings, RemoteApplicationCmdLine);
SETTING_MODIFIED_SET(file->SpanMonitors, settings, SpanMonitors);
SETTING_MODIFIED_SET(file->UseMultiMon, settings, UseMultimon);
SETTING_MODIFIED_SET_STRING(file->PreconnectionBlob, settings, PreconnectionBlob);
return TRUE;
}
@@ -1058,6 +1061,13 @@ BOOL freerdp_client_populate_settings_from_rdp_file(rdpFile* file, rdpSettings*
freerdp_set_param_uint32(settings, FreeRDP_KeyboardHook, file->KeyboardHook);
}
if (~((size_t) file->PreconnectionBlob))
{
freerdp_set_param_string(settings, FreeRDP_PreconnectionBlob, file->PreconnectionBlob);
freerdp_set_param_bool(settings, FreeRDP_SendPreconnectionPdu, TRUE);
freerdp_set_param_bool(settings, FreeRDP_VmConnectMode, TRUE);
}
if (file->argc > 1)
{
char* ConnectionFile = settings->ConnectionFile;

View File

@@ -151,6 +151,8 @@ struct rdp_file
LPSTR DevicesToRedirect; /* devicestoredirect */
LPSTR WinPosStr; /* winposstr */
LPSTR PreconnectionBlob; /* pcb */
int lineCount;
int lineSize;
rdpFileLine* lines;