IltmmCapture::GetSubObjectDispatch Example for C

This function determines if the Lens effect filter is available and turns off the effect area (cropping feature).

void IltmmCapture_GetSubObjectDispatch_Example (IltmmCapture *pCapture) 
{
   HRESULT hr; 
   IDispatch *pDisp = NULL; 
   ILMVLens *pLens = NULL; 

   // call the Capture object to retrieve the FilterGraph
   hr = IltmmCapture_GetSubObjectDispatch(pCapture, ltmmCapture_Object_SelVideoProcessor, &pDisp); 

   if(SUCCEEDED(hr)) 
   {
      hr = IDispatch_QueryInterface(pDisp, &IID_ILMVLens, (void**)&pLens); 

      if(SUCCEEDED(hr)) 
      {
         ILMVLens_put_EffectAreaEnabled(pLens, VARIANT_FALSE); 

         ILMVLens_Release(pLens); 
      }

      IDispatch_Release(pDisp); 
   }
}