IltmmPlay::GetSubObjectDispatch Example for C++

// This function checks if the Lens effect filter is available
// and turns off the effect area (cropping feature)
void TurnOffLensCropping(IltmmPlay *pPlay)
{
   HRESULT hr;
   IDispatch *pDisp = NULL;
   ILMVLens *pLens = NULL;

   // call the Capture object to retrieve the video processors
   hr = pPlay->GetSubObjectDispatch( ltmmPlay_Object_SelVideoProcessor, &pDisp);
   if(SUCCEEDED(hr))
   {
      // see if the selected processor is the Lens Effect processor
      hr = pDisp->QueryInterface(IID_ILMVLens, (void**)&pLens);
      if(SUCCEEDED(hr))
      {
         // disable the effect
         pLens->put_EffectAreaEnabled(VARIANT_FALSE);

         // release the object
         pLens->Release();
      }

      // release the subobject
      pDisp->Release();
   }
}