IltmmWMProfile::get_Version Example for C

For complete code, refer to the CNVWM demo.

LPTSTR OLE2A(LPCOLESTR lpw) 
{ 
   static CHAR convert[512]; 
   if(!lpw) 
      return NULL; 
   convert[0] = '\0'; 
   WideCharToMultiByte(CP_ACP, 0, lpw, -1, convert, 512, NULL, NULL); 
   return convert; 
} 
BOOL IltmmWMProfile_get_Version_Example ( ) 
{ 
   long count = 0; 
   long streamCount = 0; 
   long versionNum = 0; 
   long lVersion; 
   char data[10]; 
   IltmmWMProfile *pProfile = NULL; 
   IltmmWMProfileManager *pProfileManager = NULL; 
   BSTR bstrString; 
   int i; 
   // Create a profile manager 
   HRESULT hr = CoCreateInstance(&CLSID_ltmmWMProfileManager, NULL, CLSCTX_INPROC_SERVER, &IID_IltmmWMProfileManager, (void**) &pProfileManager); 
   if(FAILED(hr)) 
   { 
      return TRUE; 
   } 
   // show only system profiles for version ltmmWMT_VER_4_0 
   IltmmWMProfileManager_get_SystemProfileVersion(pProfileManager, &lVersion); 
   if(lVersion != ltmmWMT_VER_4_0) 
   { 
      IltmmWMProfileManager_Release(pProfileManager); 
      return TRUE; 
   } 
   hr = IltmmWMProfileManager_get_SystemProfileCount(pProfileManager, &count); 
   if(FAILED(hr)) 
   { 
      IltmmWMProfileManager_Release(pProfileManager); 
      return TRUE; 
   } 
   for(i = 0; i < count; i++) 
   { 
      hr = IltmmWMProfileManager_LoadSystemProfile(pProfileManager, i, &pProfile); 
      if(FAILED(hr)) 
      { 
         IltmmWMProfileManager_Release(pProfileManager); 
         return TRUE; 
      } 
      // Display the name 
      IltmmWMProfile_get_Name(pProfile, &bstrString); 
      printf ("%s", OLE2A(bstrString)); 
      SysFreeString(bstrString); 
      // Add the description, version and the stream count 
      IltmmWMProfile_get_Description(pProfile, &bstrString); 
      printf ("%s", OLE2A(bstrString)); 
      SysFreeString(bstrString); 
      IltmmWMProfile_get_Version(pProfile, &versionNum); 
      switch(versionNum) 
      { 
      case ltmmWMT_VER_4_0: 
         printf ("%s", "ltmmWMT_VER_4_0"); 
         break; 
      case ltmmWMT_VER_7_0: 
         printf ("%s", "ltmmWMT_VER_7_0"); 
         break; 
      case ltmmWMT_VER_8_0: 
         printf ("%s", "ltmmWMT_VER_8_0"); 
         break; 
      case ltmmWMT_VER_9_0: 
         printf ("%s", "ltmmWMT_VER_9_0"); 
         break; 
      default: 
         printf ("%s", "UNKNOWN"); 
         break; 
      }; 
      // Display the number of streams 
      IltmmWMProfile_get_StreamCount(pProfile, &streamCount); 
      printf ("%s", ltoa(streamCount, data, 10)); 
      IltmmWMProfile_Release(pProfile); 
      pProfile = NULL; 
   } 
   IltmmWMProfileManager_Release(pProfileManager); 
   pProfileManager = NULL; 
   return TRUE; 
} 

Help Version 19.0.2017.10.27
Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.
LEADTOOLS Multimedia C API Help