WinStd/group___win_std_c_o_m_helpers.html

1021 lines
52 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>WinStd: WinStdCOMHelpers</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">WinStd
</div>
<div id="projectbrief">Windows Win32 API using Standard C++</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search',false);
$(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="doc-content">
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle"><div class="title">WinStdCOMHelpers</div></div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga02c5bf748ce4b40bde6863a4f2f60a36" id="r_ga02c5bf748ce4b40bde6863a4f2f60a36"><td class="memItemLeft" align="right" valign="top">VARIANT &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga02c5bf748ce4b40bde6863a4f2f60a36">operator&lt;&lt;</a> (VARIANT &amp;v, IDispatch *value)</td></tr>
<tr class="memdesc:ga02c5bf748ce4b40bde6863a4f2f60a36"><td class="mdescLeft">&#160;</td><td class="mdescRight">Saves value to VARIANT. <br /></td></tr>
<tr class="separator:ga02c5bf748ce4b40bde6863a4f2f60a36"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0e2fbcf0dbb29885f3e16e5fa236864f" id="r_ga0e2fbcf0dbb29885f3e16e5fa236864f"><td class="memItemLeft" align="right" valign="top">VARIANT &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga0e2fbcf0dbb29885f3e16e5fa236864f">operator&lt;&lt;</a> (VARIANT &amp;v, const CHAR value)</td></tr>
<tr class="memdesc:ga0e2fbcf0dbb29885f3e16e5fa236864f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Saves value to VARIANT. <br /></td></tr>
<tr class="separator:ga0e2fbcf0dbb29885f3e16e5fa236864f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8d463e2fe423ab3a1088f2d77d26d34b" id="r_ga8d463e2fe423ab3a1088f2d77d26d34b"><td class="memItemLeft" align="right" valign="top">VARIANT &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga8d463e2fe423ab3a1088f2d77d26d34b">operator&lt;&lt;</a> (VARIANT &amp;v, const BYTE value)</td></tr>
<tr class="memdesc:ga8d463e2fe423ab3a1088f2d77d26d34b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Saves value to VARIANT. <br /></td></tr>
<tr class="separator:ga8d463e2fe423ab3a1088f2d77d26d34b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga710418f51b0d1ed7fd670bb0afed8737" id="r_ga710418f51b0d1ed7fd670bb0afed8737"><td class="memItemLeft" align="right" valign="top">VARIANT &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga710418f51b0d1ed7fd670bb0afed8737">operator&lt;&lt;</a> (VARIANT &amp;v, const SHORT value)</td></tr>
<tr class="memdesc:ga710418f51b0d1ed7fd670bb0afed8737"><td class="mdescLeft">&#160;</td><td class="mdescRight">Saves value to VARIANT. <br /></td></tr>
<tr class="separator:ga710418f51b0d1ed7fd670bb0afed8737"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga322d7af5aa5d416f9a923d945bf0f904" id="r_ga322d7af5aa5d416f9a923d945bf0f904"><td class="memItemLeft" align="right" valign="top">VARIANT &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga322d7af5aa5d416f9a923d945bf0f904">operator&lt;&lt;</a> (VARIANT &amp;v, const USHORT value)</td></tr>
<tr class="memdesc:ga322d7af5aa5d416f9a923d945bf0f904"><td class="mdescLeft">&#160;</td><td class="mdescRight">Saves value to VARIANT. <br /></td></tr>
<tr class="separator:ga322d7af5aa5d416f9a923d945bf0f904"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac463d456513208bac0e4d5d8008064e6" id="r_gac463d456513208bac0e4d5d8008064e6"><td class="memItemLeft" align="right" valign="top">VARIANT &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gac463d456513208bac0e4d5d8008064e6">operator&lt;&lt;</a> (VARIANT &amp;v, const LONG value)</td></tr>
<tr class="memdesc:gac463d456513208bac0e4d5d8008064e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Saves value to VARIANT. <br /></td></tr>
<tr class="separator:gac463d456513208bac0e4d5d8008064e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga94cb4ff443c2448895e14ae050e44886" id="r_ga94cb4ff443c2448895e14ae050e44886"><td class="memItemLeft" align="right" valign="top">VARIANT &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga94cb4ff443c2448895e14ae050e44886">operator&lt;&lt;</a> (VARIANT &amp;v, const ULONG value)</td></tr>
<tr class="memdesc:ga94cb4ff443c2448895e14ae050e44886"><td class="mdescLeft">&#160;</td><td class="mdescRight">Saves value to VARIANT. <br /></td></tr>
<tr class="separator:ga94cb4ff443c2448895e14ae050e44886"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac2d3c5d016de36d6d8d78bc3f3c9b4cf" id="r_gac2d3c5d016de36d6d8d78bc3f3c9b4cf"><td class="memItemLeft" align="right" valign="top">VARIANT &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gac2d3c5d016de36d6d8d78bc3f3c9b4cf">operator&lt;&lt;</a> (VARIANT &amp;v, const LONGLONG value)</td></tr>
<tr class="memdesc:gac2d3c5d016de36d6d8d78bc3f3c9b4cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Saves value to VARIANT. <br /></td></tr>
<tr class="separator:gac2d3c5d016de36d6d8d78bc3f3c9b4cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf8b6e598c7d5706f4bb576de053baf20" id="r_gaf8b6e598c7d5706f4bb576de053baf20"><td class="memItemLeft" align="right" valign="top">VARIANT &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gaf8b6e598c7d5706f4bb576de053baf20">operator&lt;&lt;</a> (VARIANT &amp;v, const ULONGLONG value)</td></tr>
<tr class="memdesc:gaf8b6e598c7d5706f4bb576de053baf20"><td class="mdescLeft">&#160;</td><td class="mdescRight">Saves value to VARIANT. <br /></td></tr>
<tr class="separator:gaf8b6e598c7d5706f4bb576de053baf20"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0adc07a8a00656931d09af62068facd7" id="r_ga0adc07a8a00656931d09af62068facd7"><td class="memItemLeft" align="right" valign="top">VARIANT &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga0adc07a8a00656931d09af62068facd7">operator&lt;&lt;</a> (VARIANT &amp;v, const FLOAT value)</td></tr>
<tr class="memdesc:ga0adc07a8a00656931d09af62068facd7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Saves value to VARIANT. <br /></td></tr>
<tr class="separator:ga0adc07a8a00656931d09af62068facd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacfd498d02785a6c8efac36e453252124" id="r_gacfd498d02785a6c8efac36e453252124"><td class="memItemLeft" align="right" valign="top">VARIANT &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gacfd498d02785a6c8efac36e453252124">operator&lt;&lt;</a> (VARIANT &amp;v, const DOUBLE value)</td></tr>
<tr class="memdesc:gacfd498d02785a6c8efac36e453252124"><td class="mdescLeft">&#160;</td><td class="mdescRight">Saves value to VARIANT. <br /></td></tr>
<tr class="separator:gacfd498d02785a6c8efac36e453252124"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga24130dc009ce810fb07bf356ceebe32d" id="r_ga24130dc009ce810fb07bf356ceebe32d"><td class="memItemLeft" align="right" valign="top">VARIANT &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga24130dc009ce810fb07bf356ceebe32d">operator&lt;&lt;</a> (VARIANT &amp;v, const BOOL value)</td></tr>
<tr class="memdesc:ga24130dc009ce810fb07bf356ceebe32d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Saves value to VARIANT. <br /></td></tr>
<tr class="separator:ga24130dc009ce810fb07bf356ceebe32d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7bddf296590bac627f8a7ca9d37b82cc" id="r_ga7bddf296590bac627f8a7ca9d37b82cc"><td class="memItemLeft" align="right" valign="top">VARIANT &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga7bddf296590bac627f8a7ca9d37b82cc">operator&lt;&lt;</a> (VARIANT &amp;v, LPCOLESTR value)</td></tr>
<tr class="memdesc:ga7bddf296590bac627f8a7ca9d37b82cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Saves value to VARIANT. <br /></td></tr>
<tr class="separator:ga7bddf296590bac627f8a7ca9d37b82cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaac901226d62f9d9f4fc7c7df32b1566f" id="r_gaac901226d62f9d9f4fc7c7df32b1566f"><td class="memTemplParams" colspan="2">template&lt;class _Traits , class _Ax &gt; </td></tr>
<tr class="memitem:gaac901226d62f9d9f4fc7c7df32b1566f"><td class="memTemplItemLeft" align="right" valign="top">VARIANT &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#gaac901226d62f9d9f4fc7c7df32b1566f">operator&lt;&lt;</a> (VARIANT &amp;v, const std::basic_string&lt; OLECHAR, _Traits, _Ax &gt; &amp;value)</td></tr>
<tr class="memdesc:gaac901226d62f9d9f4fc7c7df32b1566f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Saves value to VARIANT. <br /></td></tr>
<tr class="separator:gaac901226d62f9d9f4fc7c7df32b1566f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf652d81d6339e606109840117bf5bffe" id="r_gaf652d81d6339e606109840117bf5bffe"><td class="memItemLeft" align="right" valign="top">VARIANT &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gaf652d81d6339e606109840117bf5bffe">operator&lt;&lt;</a> (VARIANT &amp;v, const GUID &amp;value)</td></tr>
<tr class="memdesc:gaf652d81d6339e606109840117bf5bffe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Saves value to VARIANT. <br /></td></tr>
<tr class="separator:gaf652d81d6339e606109840117bf5bffe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9abe80ce7f67c4a86207f4f3f73da410" id="r_ga9abe80ce7f67c4a86207f4f3f73da410"><td class="memItemLeft" align="right" valign="top">VARIANT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ga9abe80ce7f67c4a86207f4f3f73da410">winstd::BuildVBARRAY</a> (VARTYPE vt, LPCVOID array, ULONG columns, ULONG rows)</td></tr>
<tr class="memdesc:ga9abe80ce7f67c4a86207f4f3f73da410"><td class="mdescLeft">&#160;</td><td class="mdescRight">Builds VBARRAY of uniform data. <br /></td></tr>
<tr class="separator:ga9abe80ce7f67c4a86207f4f3f73da410"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab7395cc820a5d3a0b6782846b636e3e5" id="r_gab7395cc820a5d3a0b6782846b636e3e5"><td class="memTemplParams" colspan="2">template&lt;class T , ULONG columns = 1&gt; </td></tr>
<tr class="memitem:gab7395cc820a5d3a0b6782846b636e3e5"><td class="memTemplItemLeft" align="right" valign="top">VARIANT&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#gab7395cc820a5d3a0b6782846b636e3e5">winstd::BuildVBARRAY</a> (const T *array, ULONG rows)</td></tr>
<tr class="memdesc:gab7395cc820a5d3a0b6782846b636e3e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Builds VBARRAY of uniform data. <br /></td></tr>
<tr class="separator:gab7395cc820a5d3a0b6782846b636e3e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac1763409b281d38dbda4aea09a17133f" id="r_gac1763409b281d38dbda4aea09a17133f"><td class="memItemLeft" align="right" valign="top">VARIANT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gac1763409b281d38dbda4aea09a17133f">winstd::BuildVBARRAY</a> (HDC <a class="el" href="classwinstd_1_1dc.html">dc</a>, HBITMAP pic)</td></tr>
<tr class="memdesc:gac1763409b281d38dbda4aea09a17133f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Builds VBARRAY containing BMP image. <br /></td></tr>
<tr class="separator:gac1763409b281d38dbda4aea09a17133f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga191e4b679c9beb7a04e048f8c00d4884" id="r_ga191e4b679c9beb7a04e048f8c00d4884"><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr class="memitem:ga191e4b679c9beb7a04e048f8c00d4884"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#ga191e4b679c9beb7a04e048f8c00d4884">winstd::IDispatchInvoke</a> (T *cp, DISPID id, DISPPARAMS *param, LCID locale=LOCALE_USER_DEFAULT)</td></tr>
<tr class="memdesc:ga191e4b679c9beb7a04e048f8c00d4884"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calls IDispatch::Invoke. <br /></td></tr>
<tr class="separator:ga191e4b679c9beb7a04e048f8c00d4884"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga57c60521128fe90efde68dca7c5b54fe" id="r_ga57c60521128fe90efde68dca7c5b54fe"><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr class="memitem:ga57c60521128fe90efde68dca7c5b54fe"><td class="memTemplItemLeft" align="right" valign="top">T&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="#ga57c60521128fe90efde68dca7c5b54fe">winstd::VariantAsInteger</a> (const VARIANT *var, T fallback=0)</td></tr>
<tr class="memdesc:ga57c60521128fe90efde68dca7c5b54fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check VARIANT value for integer value. <br /></td></tr>
<tr class="separator:ga57c60521128fe90efde68dca7c5b54fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaf521a4f071e8ae5d1bf2ae76000b913" id="r_gaaf521a4f071e8ae5d1bf2ae76000b913"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#gaaf521a4f071e8ae5d1bf2ae76000b913">winstd::VariantAsBoolean</a> (const VARIANT *var, BOOL fallback=FALSE)</td></tr>
<tr class="memdesc:gaaf521a4f071e8ae5d1bf2ae76000b913"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check VARIANT value for boolean value. <br /></td></tr>
<tr class="separator:gaaf521a4f071e8ae5d1bf2ae76000b913"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<h2 class="groupheader">Function Documentation</h2>
<a id="gab7395cc820a5d3a0b6782846b636e3e5" name="gab7395cc820a5d3a0b6782846b636e3e5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab7395cc820a5d3a0b6782846b636e3e5">&#9670;&#160;</a></span>BuildVBARRAY() <span class="overload">[1/3]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T , ULONG columns = 1&gt; </div>
<table class="memname">
<tr>
<td class="memname">VARIANT winstd::BuildVBARRAY </td>
<td>(</td>
<td class="paramtype">const T *</td> <td class="paramname"><span class="paramname"><em>array</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">ULONG</td> <td class="paramname"><span class="paramname"><em>rows</em></span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Builds VBARRAY of uniform data. </p>
<p>This template is using operator &lt;&lt;(VARIANT&amp;, const T&amp;) to write data to VBARRAY. Such operator must be declared for given datatype T.</p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">T</td><td>Element type </td></tr>
<tr><td class="paramname">columns</td><td>Number of columns. When 1, SafeArrayCreateVector is used; when &gt;1, SafeArrayCreate is used.</td></tr>
</table>
</dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">array</td><td>Pointer to data </td></tr>
<tr><td class="paramname">rows</td><td>Number of rows of data</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns VBARRAY </dd></dl>
</div>
</div>
<a id="gac1763409b281d38dbda4aea09a17133f" name="gac1763409b281d38dbda4aea09a17133f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac1763409b281d38dbda4aea09a17133f">&#9670;&#160;</a></span>BuildVBARRAY() <span class="overload">[2/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">VARIANT winstd::BuildVBARRAY </td>
<td>(</td>
<td class="paramtype">HDC</td> <td class="paramname"><span class="paramname"><em>dc</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">HBITMAP</td> <td class="paramname"><span class="paramname"><em>pic</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Builds VBARRAY containing BMP image. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">dc</td><td>Drawing context </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">rows</td><td>Bitmap handle</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns VBARRAY </dd></dl>
</div>
</div>
<a id="ga9abe80ce7f67c4a86207f4f3f73da410" name="ga9abe80ce7f67c4a86207f4f3f73da410"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9abe80ce7f67c4a86207f4f3f73da410">&#9670;&#160;</a></span>BuildVBARRAY() <span class="overload">[3/3]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">VARIANT winstd::BuildVBARRAY </td>
<td>(</td>
<td class="paramtype">VARTYPE</td> <td class="paramname"><span class="paramname"><em>vt</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">LPCVOID</td> <td class="paramname"><span class="paramname"><em>array</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">ULONG</td> <td class="paramname"><span class="paramname"><em>columns</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">ULONG</td> <td class="paramname"><span class="paramname"><em>rows</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Builds VBARRAY of uniform data. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">vt</td><td>Type of array element </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">array</td><td>Pointer to data </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">columns</td><td>Number of columns. When 1, SafeArrayCreateVector is used; when &gt;1, SafeArrayCreate is used. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">rows</td><td>Number of rows</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Returns VBARRAY </dd></dl>
</div>
</div>
<a id="ga191e4b679c9beb7a04e048f8c00d4884" name="ga191e4b679c9beb7a04e048f8c00d4884"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga191e4b679c9beb7a04e048f8c00d4884">&#9670;&#160;</a></span>IDispatchInvoke()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="memname">
<tr>
<td class="memname">void winstd::IDispatchInvoke </td>
<td>(</td>
<td class="paramtype">T *</td> <td class="paramname"><span class="paramname"><em>cp</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">DISPID</td> <td class="paramname"><span class="paramname"><em>id</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">DISPPARAMS *</td> <td class="paramname"><span class="paramname"><em>param</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">LCID</td> <td class="paramname"><span class="paramname"><em>locale</em></span><span class="paramdefsep"> = </span><span class="paramdefval">LOCALE_USER_DEFAULT</span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Calls IDispatch::Invoke. </p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">T</td><td>Original interface type</td></tr>
</table>
</dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">cp</td><td>Any interface of the class that implements IDispatch </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">id</td><td>ID of method to invoke </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">param</td><td>Parameters for the method to invoke </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">locale</td><td>Locale for the invoke call </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="ga24130dc009ce810fb07bf356ceebe32d" name="ga24130dc009ce810fb07bf356ceebe32d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga24130dc009ce810fb07bf356ceebe32d">&#9670;&#160;</a></span>operator&lt;&lt;() <span class="overload">[1/15]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">VARIANT &amp; operator&lt;&lt; </td>
<td>(</td>
<td class="paramtype">VARIANT &amp;</td> <td class="paramname"><span class="paramname"><em>v</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const BOOL</td> <td class="paramname"><span class="paramname"><em>value</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Saves value to VARIANT. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">v</td><td>VARIANT to save value to. For performance reasons, no VariantClear is called before saving. Thus, v must not contain referenced data. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to save</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to VARIANT successor in array of VARIANT(s) </dd></dl>
</div>
</div>
<a id="ga8d463e2fe423ab3a1088f2d77d26d34b" name="ga8d463e2fe423ab3a1088f2d77d26d34b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8d463e2fe423ab3a1088f2d77d26d34b">&#9670;&#160;</a></span>operator&lt;&lt;() <span class="overload">[2/15]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">VARIANT &amp; operator&lt;&lt; </td>
<td>(</td>
<td class="paramtype">VARIANT &amp;</td> <td class="paramname"><span class="paramname"><em>v</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const BYTE</td> <td class="paramname"><span class="paramname"><em>value</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Saves value to VARIANT. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">v</td><td>VARIANT to save value to. For performance reasons, no VariantClear is called before saving. Thus, v must not contain referenced data. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to save</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to VARIANT successor in array of VARIANT(s) </dd></dl>
</div>
</div>
<a id="ga0e2fbcf0dbb29885f3e16e5fa236864f" name="ga0e2fbcf0dbb29885f3e16e5fa236864f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0e2fbcf0dbb29885f3e16e5fa236864f">&#9670;&#160;</a></span>operator&lt;&lt;() <span class="overload">[3/15]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">VARIANT &amp; operator&lt;&lt; </td>
<td>(</td>
<td class="paramtype">VARIANT &amp;</td> <td class="paramname"><span class="paramname"><em>v</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const CHAR</td> <td class="paramname"><span class="paramname"><em>value</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Saves value to VARIANT. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">v</td><td>VARIANT to save value to. For performance reasons, no VariantClear is called before saving. Thus, v must not contain referenced data. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to save</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to VARIANT successor in array of VARIANT(s) </dd></dl>
</div>
</div>
<a id="gacfd498d02785a6c8efac36e453252124" name="gacfd498d02785a6c8efac36e453252124"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gacfd498d02785a6c8efac36e453252124">&#9670;&#160;</a></span>operator&lt;&lt;() <span class="overload">[4/15]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">VARIANT &amp; operator&lt;&lt; </td>
<td>(</td>
<td class="paramtype">VARIANT &amp;</td> <td class="paramname"><span class="paramname"><em>v</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const DOUBLE</td> <td class="paramname"><span class="paramname"><em>value</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Saves value to VARIANT. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">v</td><td>VARIANT to save value to. For performance reasons, no VariantClear is called before saving. Thus, v must not contain referenced data. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to save</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to VARIANT successor in array of VARIANT(s) </dd></dl>
</div>
</div>
<a id="ga0adc07a8a00656931d09af62068facd7" name="ga0adc07a8a00656931d09af62068facd7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0adc07a8a00656931d09af62068facd7">&#9670;&#160;</a></span>operator&lt;&lt;() <span class="overload">[5/15]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">VARIANT &amp; operator&lt;&lt; </td>
<td>(</td>
<td class="paramtype">VARIANT &amp;</td> <td class="paramname"><span class="paramname"><em>v</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const FLOAT</td> <td class="paramname"><span class="paramname"><em>value</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Saves value to VARIANT. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">v</td><td>VARIANT to save value to. For performance reasons, no VariantClear is called before saving. Thus, v must not contain referenced data. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to save</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to VARIANT successor in array of VARIANT(s) </dd></dl>
</div>
</div>
<a id="gaf652d81d6339e606109840117bf5bffe" name="gaf652d81d6339e606109840117bf5bffe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf652d81d6339e606109840117bf5bffe">&#9670;&#160;</a></span>operator&lt;&lt;() <span class="overload">[6/15]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">VARIANT &amp; operator&lt;&lt; </td>
<td>(</td>
<td class="paramtype">VARIANT &amp;</td> <td class="paramname"><span class="paramname"><em>v</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const GUID &amp;</td> <td class="paramname"><span class="paramname"><em>value</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Saves value to VARIANT. </p>
<dl class="section note"><dt>Note</dt><dd>This operator saves GUID as BSTR string in "{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}" notation.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">v</td><td>VARIANT to save value to. For performance reasons, no VariantClear is called before saving. Thus, v must not contain referenced data. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to save</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to VARIANT successor in array of VARIANT(s) </dd></dl>
</div>
</div>
<a id="gac463d456513208bac0e4d5d8008064e6" name="gac463d456513208bac0e4d5d8008064e6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac463d456513208bac0e4d5d8008064e6">&#9670;&#160;</a></span>operator&lt;&lt;() <span class="overload">[7/15]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">VARIANT &amp; operator&lt;&lt; </td>
<td>(</td>
<td class="paramtype">VARIANT &amp;</td> <td class="paramname"><span class="paramname"><em>v</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const LONG</td> <td class="paramname"><span class="paramname"><em>value</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Saves value to VARIANT. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">v</td><td>VARIANT to save value to. For performance reasons, no VariantClear is called before saving. Thus, v must not contain referenced data. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to save</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to VARIANT successor in array of VARIANT(s) </dd></dl>
</div>
</div>
<a id="gac2d3c5d016de36d6d8d78bc3f3c9b4cf" name="gac2d3c5d016de36d6d8d78bc3f3c9b4cf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac2d3c5d016de36d6d8d78bc3f3c9b4cf">&#9670;&#160;</a></span>operator&lt;&lt;() <span class="overload">[8/15]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">VARIANT &amp; operator&lt;&lt; </td>
<td>(</td>
<td class="paramtype">VARIANT &amp;</td> <td class="paramname"><span class="paramname"><em>v</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const LONGLONG</td> <td class="paramname"><span class="paramname"><em>value</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Saves value to VARIANT. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">v</td><td>VARIANT to save value to. For performance reasons, no VariantClear is called before saving. Thus, v must not contain referenced data. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to save</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to VARIANT successor in array of VARIANT(s) </dd></dl>
</div>
</div>
<a id="ga710418f51b0d1ed7fd670bb0afed8737" name="ga710418f51b0d1ed7fd670bb0afed8737"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga710418f51b0d1ed7fd670bb0afed8737">&#9670;&#160;</a></span>operator&lt;&lt;() <span class="overload">[9/15]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">VARIANT &amp; operator&lt;&lt; </td>
<td>(</td>
<td class="paramtype">VARIANT &amp;</td> <td class="paramname"><span class="paramname"><em>v</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const SHORT</td> <td class="paramname"><span class="paramname"><em>value</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Saves value to VARIANT. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">v</td><td>VARIANT to save value to. For performance reasons, no VariantClear is called before saving. Thus, v must not contain referenced data. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to save</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to VARIANT successor in array of VARIANT(s) </dd></dl>
</div>
</div>
<a id="gaac901226d62f9d9f4fc7c7df32b1566f" name="gaac901226d62f9d9f4fc7c7df32b1566f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaac901226d62f9d9f4fc7c7df32b1566f">&#9670;&#160;</a></span>operator&lt;&lt;() <span class="overload">[10/15]</span></h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class _Traits , class _Ax &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">VARIANT &amp; operator&lt;&lt; </td>
<td>(</td>
<td class="paramtype">VARIANT &amp;</td> <td class="paramname"><span class="paramname"><em>v</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const std::basic_string&lt; OLECHAR, _Traits, _Ax &gt; &amp;</td> <td class="paramname"><span class="paramname"><em>value</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Saves value to VARIANT. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">v</td><td>VARIANT to save value to. For performance reasons, no VariantClear is called before saving. Thus, v must not contain referenced data. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to save</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to VARIANT successor in array of VARIANT(s) </dd></dl>
</div>
</div>
<a id="ga94cb4ff443c2448895e14ae050e44886" name="ga94cb4ff443c2448895e14ae050e44886"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga94cb4ff443c2448895e14ae050e44886">&#9670;&#160;</a></span>operator&lt;&lt;() <span class="overload">[11/15]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">VARIANT &amp; operator&lt;&lt; </td>
<td>(</td>
<td class="paramtype">VARIANT &amp;</td> <td class="paramname"><span class="paramname"><em>v</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const ULONG</td> <td class="paramname"><span class="paramname"><em>value</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Saves value to VARIANT. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">v</td><td>VARIANT to save value to. For performance reasons, no VariantClear is called before saving. Thus, v must not contain referenced data. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to save</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to VARIANT successor in array of VARIANT(s) </dd></dl>
</div>
</div>
<a id="gaf8b6e598c7d5706f4bb576de053baf20" name="gaf8b6e598c7d5706f4bb576de053baf20"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf8b6e598c7d5706f4bb576de053baf20">&#9670;&#160;</a></span>operator&lt;&lt;() <span class="overload">[12/15]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">VARIANT &amp; operator&lt;&lt; </td>
<td>(</td>
<td class="paramtype">VARIANT &amp;</td> <td class="paramname"><span class="paramname"><em>v</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const ULONGLONG</td> <td class="paramname"><span class="paramname"><em>value</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Saves value to VARIANT. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">v</td><td>VARIANT to save value to. For performance reasons, no VariantClear is called before saving. Thus, v must not contain referenced data. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to save</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to VARIANT successor in array of VARIANT(s) </dd></dl>
</div>
</div>
<a id="ga322d7af5aa5d416f9a923d945bf0f904" name="ga322d7af5aa5d416f9a923d945bf0f904"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga322d7af5aa5d416f9a923d945bf0f904">&#9670;&#160;</a></span>operator&lt;&lt;() <span class="overload">[13/15]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">VARIANT &amp; operator&lt;&lt; </td>
<td>(</td>
<td class="paramtype">VARIANT &amp;</td> <td class="paramname"><span class="paramname"><em>v</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const USHORT</td> <td class="paramname"><span class="paramname"><em>value</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Saves value to VARIANT. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">v</td><td>VARIANT to save value to. For performance reasons, no VariantClear is called before saving. Thus, v must not contain referenced data. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to save</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to VARIANT successor in array of VARIANT(s) </dd></dl>
</div>
</div>
<a id="ga02c5bf748ce4b40bde6863a4f2f60a36" name="ga02c5bf748ce4b40bde6863a4f2f60a36"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga02c5bf748ce4b40bde6863a4f2f60a36">&#9670;&#160;</a></span>operator&lt;&lt;() <span class="overload">[14/15]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">VARIANT &amp; operator&lt;&lt; </td>
<td>(</td>
<td class="paramtype">VARIANT &amp;</td> <td class="paramname"><span class="paramname"><em>v</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">IDispatch *</td> <td class="paramname"><span class="paramname"><em>value</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Saves value to VARIANT. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">v</td><td>VARIANT to save value to. For performance reasons, no VariantClear is called before saving. Thus, v must not contain referenced data. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to save</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to VARIANT successor in array of VARIANT(s) </dd></dl>
</div>
</div>
<a id="ga7bddf296590bac627f8a7ca9d37b82cc" name="ga7bddf296590bac627f8a7ca9d37b82cc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga7bddf296590bac627f8a7ca9d37b82cc">&#9670;&#160;</a></span>operator&lt;&lt;() <span class="overload">[15/15]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">VARIANT &amp; operator&lt;&lt; </td>
<td>(</td>
<td class="paramtype">VARIANT &amp;</td> <td class="paramname"><span class="paramname"><em>v</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">LPCOLESTR</td> <td class="paramname"><span class="paramname"><em>value</em></span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Saves value to VARIANT. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">v</td><td>VARIANT to save value to. For performance reasons, no VariantClear is called before saving. Thus, v must not contain referenced data. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Value to save</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Reference to VARIANT successor in array of VARIANT(s) </dd></dl>
</div>
</div>
<a id="gaaf521a4f071e8ae5d1bf2ae76000b913" name="gaaf521a4f071e8ae5d1bf2ae76000b913"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaaf521a4f071e8ae5d1bf2ae76000b913">&#9670;&#160;</a></span>VariantAsBoolean()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">BOOL winstd::VariantAsBoolean </td>
<td>(</td>
<td class="paramtype">const VARIANT *</td> <td class="paramname"><span class="paramname"><em>var</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">BOOL</td> <td class="paramname"><span class="paramname"><em>fallback</em></span><span class="paramdefsep"> = </span><span class="paramdefval">FALSE</span>&#160;)</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Check VARIANT value for boolean value. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">var</td><td>Pointer to VARIANT value </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">fallback</td><td>Value to return, for non-boolean and non-numeric VARIANT types.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE if var is VT_BOOL and not VARIANT_FALSE, or VT_&lt;numeric&gt; and not zero; FALSE if var is VT_BOOL and VARIANT_FALSE, or VT_&lt;numeric&gt; and zero; fallback otherwise. </dd></dl>
</div>
</div>
<a id="ga57c60521128fe90efde68dca7c5b54fe" name="ga57c60521128fe90efde68dca7c5b54fe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga57c60521128fe90efde68dca7c5b54fe">&#9670;&#160;</a></span>VariantAsInteger()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class T &gt; </div>
<table class="memname">
<tr>
<td class="memname">T winstd::VariantAsInteger </td>
<td>(</td>
<td class="paramtype">const VARIANT *</td> <td class="paramname"><span class="paramname"><em>var</em></span>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">T</td> <td class="paramname"><span class="paramname"><em>fallback</em></span><span class="paramdefsep"> = </span><span class="paramdefval">0</span>&#160;)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Check VARIANT value for integer value. </p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">T</td><td>Integral type</td></tr>
</table>
</dd>
</dl>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">var</td><td>Pointer to VARIANT value </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">fallback</td><td>Value to return, for non-integral types.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Value of VARIANT if integral; fallback otherwise. </dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Mon Nov 11 2024 12:59:48 for WinStd by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>