IltmmCaptureInputs::get_NearestSelection Example for C

// After the capture properties dialog has been invoked, 

L_MULTIMEDIATEX_API void IltmmCaptureInputs_get_NearestSelection_Example (IltmmCapture* pCapture)
{
   // After the capture properties dialog has been invoked..
   IltmmCaptureInputs* pInputs;
   long index, count;

   IltmmCapture_get_VideoInputs(pCapture, &pInputs);
   
   IltmmCaptureInputs_get_Count(pInputs, &count);
   
   if(count > 0)
   {
      IltmmCaptureInputs_get_Selection(pInputs, &index);

      if( index == -1 )
      {
         if(MessageBox(NULL, "The video input has been altered without changing other related inputs. Would you like the other related inputs changed automatically?", NULL, MB_YESNO) == IDYES)
         {
            // get the closest selection and use it;
            // this will fix the problem of unmatched audio/video inputs.
            IltmmCaptureInputs_get_NearestSelection(pInputs, &index);
            IltmmCaptureInputs_put_Selection(pInputs, index);
         }
      }
   }

   IUnknown_Release(pInputs);
}