title: Do I need to call VariantClear after VariantChangeType
body: <p>I have the following code in C++. Do I need to free 'varDest' variable?</p>
  
  <pre><code>VARIANT val;
  if(SUCCEEDED(classObj-&gt;Get(pwPropName, 0, &amp;val, NULL, 0)))  //WMI property retrieval
  {
      //Then at some point
      VARIANT varDest;
      varDest.vt = VT_EMPTY;
      if(SUCCEEDED(::VariantChangeType(&amp;varDest, 
          const_cast&lt;VARIANT *&gt;(&amp;val), 0, VT_BSTR)))
      {
          //Do I need to call the following?
          VariantClear(&amp;varDest);
      }
  
      VariantClear(&amp;val);
  }
  </code></pre>