IltmmConvert::get_WMProfile Example for C

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;
}

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); 
   }
}