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 20.0.2019.3.12
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2019 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS Multimedia C API Help