本文整理汇总了C++中CComVariant::Copy方法的典型用法代码示例。如果您正苦于以下问题:C++ CComVariant::Copy方法的具体用法?C++ CComVariant::Copy怎么用?C++ CComVariant::Copy使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CComVariant
的用法示例。
在下文中一共展示了CComVariant::Copy方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ExecJScript
HRESULT vmsDomHelper::ExecJScript(IHTMLDocument *pDoc, BSTR bstrFuncName, const vector <CComVariant>& vArgs, CComVariant &vaResult)
{
ATLASSERT (pDoc != NULL);
if (!pDoc)
return E_INVALIDARG;
IDispatchPtr spScript;
HRESULT hr = pDoc->get_Script (&spScript);
if (spScript == NULL)
return hr;
DISPID did = NULL;
hr = spScript->GetIDsOfNames (IID_NULL, &bstrFuncName, 1, LOCALE_SYSTEM_DEFAULT, &did);
if (FAILED (hr))
return hr;
DISPPARAMS dparams;
ZeroMemory (&dparams, sizeof (dparams));
dparams.cArgs = vArgs.size ();
if (dparams.cArgs)
dparams.rgvarg = new VARIANT [dparams.cArgs];
for (int i = 0; i < vArgs.size (); i++)
{
CComVariant vaTmp; vaTmp.Copy (&vArgs [vArgs.size () - i - 1]);
VariantInit (&dparams.rgvarg [i]);
vaTmp.Detach (&dparams.rgvarg [i]);
}
EXCEPINFO ei;
ZeroMemory (&ei, sizeof (ei));
UINT nArgErr = (UINT)-1;
hr = spScript->Invoke (did, IID_NULL, 0, DISPATCH_METHOD, &dparams, &vaResult, &ei, &nArgErr);
if (dparams.rgvarg)
{
for (int i = 0; i < dparams.cArgs; i++)
VariantClear (&dparams.rgvarg [i]);
delete [] dparams.rgvarg;
}
return hr;
}
示例2: GetMinValue
// *****************************************************************
// GetMinValue()
// *****************************************************************
void FieldClassification::GetMinValue(vector<VARIANT*>& srcValues, CComVariant& result, bool seekMin)
{
CComVariant min, val;
for (unsigned long i = 0; i < srcValues.size(); i++)
{
val.Copy(srcValues[i]);
if (i == 0) min = val;
else {
if (seekMin) {
if (val < min) min = val;
}
else {
if (val > min) min = val;
}
}
val.Clear();
}
result.Copy(&min);
}