Add "Ex" interface support for external channels

Support the VirtualChannelEntryEx interface also for channels that are
not static (as in compiled in).
This commit is contained in:
Armin Novak 2016-12-28 11:21:14 +01:00 committed by Bernhard Miklautz
parent 8d0809cf26
commit 6d075ad719

View File

@ -305,7 +305,12 @@ PVIRTUALCHANNELENTRY freerdp_load_dynamic_channel_addin_entry(LPCSTR pszName,
/* channel add-in */
if (dwFlags & FREERDP_ADDIN_CHANNEL_STATIC)
entry = freerdp_load_dynamic_addin(pszFileName, NULL, "VirtualChannelEntry");
{
if (dwFlags & FREERDP_ADDIN_CHANNEL_ENTRYEX)
entry = freerdp_load_dynamic_addin(pszFileName, NULL, "VirtualChannelEntryEx");
else
entry = freerdp_load_dynamic_addin(pszFileName, NULL, "VirtualChannelEntry");
}
else if (dwFlags & FREERDP_ADDIN_CHANNEL_DYNAMIC)
entry = freerdp_load_dynamic_addin(pszFileName, NULL, "DVCPluginEntry");
else if (dwFlags & FREERDP_ADDIN_CHANNEL_DEVICE)
@ -335,9 +340,6 @@ PVIRTUALCHANNELENTRY freerdp_load_channel_addin_entry(LPCSTR pszName,
if (freerdp_load_static_channel_addin_entry)
entry = freerdp_load_static_channel_addin_entry(pszName, pszSubsystem, pszType, dwFlags);
if (dwFlags & FREERDP_ADDIN_CHANNEL_ENTRYEX)
return entry; /* don't warn, don't try dynamic entries for VirtualChannelEntryEx */
if (!entry)
entry = freerdp_load_dynamic_channel_addin_entry(pszName, pszSubsystem, pszType, dwFlags);