IltmmConvert::GetSubObjectDispatch Example for C

// This function checks if the Lens effect filter is available
// and turns off the effect area (cropping feature) 
void TurnOffLensCropping(IltmmConvert *pConvert) 
{
   HRESULT hr; 
   IDispatch *pDisp = NULL; 
   ILMVLens *pLens = NULL; 
   
   // call the Capture object to retrieve the FilterGraph
   hr = IltmmConvert__getSubObjectDispatch(pConvert, ltmmConvert_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); 
   }
}

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

L_MULTIMEDIATEX_API void IltmmConvert_GetSubObjectDispatch_Example (IltmmConvert* pConvert)
{
   HRESULT hr; 
   IDispatch *pDisp = NULL; 
   ILMVLens *pLens = NULL; 

   // call the Capture object to retrieve the FilterGraph
   hr = IltmmConvert_GetSubObjectDispatch(pConvert, ltmmConvert_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); 
   }
}