IltmmConvert::get_WMProfile Example for C

// This function displays the currently associated WM
// Profile for the specified convert object
void DisplaySelectedProfileName(IltmmConvert *pConvert) 
{
   IltmmWMProfile *pCurrentProfile = NULL; 
   BSTR bstrStringName; 
   HRESULT hr; 

   hr = IltmmConvert__get_WMProfile(pConvert, &pCurrentProfile); 
   if(FAILED(hr)) 
   {
      return; 
   }
   
   if(pCurrentProfile) 
   {
      hr = IltmmWMProfile__get_Name(pCurrentProfile, &bstrStringName); 
      if(FAILED(hr)) 
      {
         IltmmWMProfile_Release(pCurrentProfile); 
         return; 
      }

      MessageBox(NULL, OLE2T(bstrStringName), 
         "Profile selected", 
         MB_ICONINFORMATION); 
      IltmmWMProfile_Release(pCurrentProfile); 
   }
   else
   {
      MessageBox(NULL, "There is no profiles currently selected", 
         "Profile selected", 
         MB_ICONINFORMATION); 
   }
}

This function displays the currently associated WM Profile for the specified convert object.

LPTSTR OLE2T(LPCOLESTR lpw)
{
   static TCHAR lpt[512];

   if(!lpw)
      return NULL;

   lpt[0] = _T('\0');

   WideCharToMultiByte(CP_ACP, 0, lpw, -1, lpt, 512, NULL, NULL);
   return lpt;
}

L_MULTIMEDIATEX_API void IltmmConvert_get_WMProfile_Example (IltmmConvert* pConvert)
{
   IltmmWMProfile *pCurrentProfile = NULL; 
   BSTR bstrStringName; 
   HRESULT hr; 

   hr = IltmmConvert_get_WMProfile(pConvert, &pCurrentProfile); 
   
   if(FAILED(hr)) 
   {
      return; 
   }

   if(pCurrentProfile) 
   {
      hr = IltmmWMProfile_get_Name(pCurrentProfile, &bstrStringName); 
      
      if(FAILED(hr)) 
      {
         IltmmWMProfile_Release(pCurrentProfile); 

         return; 
      }

      MessageBox(NULL, OLE2T(bstrStringName), "Profile selected", MB_ICONINFORMATION); 

      IltmmWMProfile_Release(pCurrentProfile); 
   }
   else
   {
      MessageBox(NULL, "There is no profiles currently selected", "Profile selected", MB_ICONINFORMATION); 
   }
}