4#include <winpr/windows.h> 
    6#include <freerdp/client/channels.h> 
    7#include <freerdp/channels/rdpsnd.h> 
    9int TestClientChannels(
int argc, 
char* argv[])
 
   16  dwFlags = FREERDP_ADDIN_DYNAMIC;
 
   18  printf(
"Enumerate all\n");
 
   19  ppAddins = freerdp_channels_list_addins(NULL, NULL, NULL, dwFlags);
 
   21  for (
size_t index = 0; ppAddins[index] != NULL; index++)
 
   25    printf(
"Addin: Name: %s Subsystem: %s Type: %s\n", pAddin->cName, pAddin->cSubsystem,
 
   29  freerdp_channels_addin_list_free(ppAddins);
 
   31  printf(
"Enumerate rdpsnd\n");
 
   32  ppAddins = freerdp_channels_list_addins(RDPSND_CHANNEL_NAME, NULL, NULL, dwFlags);
 
   34  for (
size_t index = 0; ppAddins[index] != NULL; index++)
 
   38    printf(
"Addin: Name: %s Subsystem: %s Type: %s\n", pAddin->cName, pAddin->cSubsystem,
 
   42  freerdp_channels_addin_list_free(ppAddins);
 
   44#if defined(CHANNEL_TSMF_CLIENT) 
   45  printf(
"Enumerate tsmf video\n");
 
   46  ppAddins = freerdp_channels_list_addins(
"tsmf", NULL, 
"video", dwFlags);
 
   48  for (
size_t index = 0; ppAddins[index] != NULL; index++)
 
   52    printf(
"Addin: Name: %s Subsystem: %s Type: %s\n", pAddin->cName, pAddin->cSubsystem,
 
   56  freerdp_channels_addin_list_free(ppAddins);
 
   59  ppAddins = freerdp_channels_list_addins(
"unknown", NULL, NULL, dwFlags);
 
   61  for (
size_t index = 0; ppAddins[index] != NULL; index++)
 
   65    printf(
"Addin: Name: %s Subsystem: %s Type: %s\n", pAddin->cName, pAddin->cSubsystem,
 
   69  freerdp_channels_addin_list_free(ppAddins);
 
   71  printf(
"Enumerate static addins\n");
 
   73  dwFlags = FREERDP_ADDIN_STATIC;
 
   74  ppAddins = freerdp_channels_list_addins(NULL, NULL, NULL, dwFlags);
 
   76  for (
size_t index = 0; ppAddins[index] != NULL; index++)
 
   80    printf(
"Addin: Name: %s Subsystem: %s Type: %s\n", pAddin->cName, pAddin->cSubsystem,
 
   84  freerdp_channels_addin_list_free(ppAddins);