624 lines
47 KiB
HTML
624 lines
47 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.13.2"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
<title>Interface Technology Basics: funknown.h File Reference</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="navtreedata.js"></script>
|
|
<script type="text/javascript" src="navtree.js"></script>
|
|
<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" />
|
|
<link href="smtg_extra.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">Interface Technology Basics<span id="projectnumber"> VST 3.8</span>
|
|
</div>
|
|
<div id="projectbrief">SDK for developing VST plug-in</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.13.2 -->
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
/* @license-end */
|
|
</script>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&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&dn=expat.txt MIT */
|
|
$(function() {
|
|
initMenu('',true,false,'search.php','Search',true);
|
|
$(function() { init_search(); });
|
|
});
|
|
/* @license-end */
|
|
</script>
|
|
<div id="main-nav"></div>
|
|
</div><!-- top -->
|
|
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
<div id="nav-tree">
|
|
<div id="nav-tree-contents">
|
|
<div id="nav-sync" class="sync"></div>
|
|
</div>
|
|
</div>
|
|
<div id="splitbar" style="-moz-user-select:none;"
|
|
class="ui-resizable-handle">
|
|
</div>
|
|
</div>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
$(function(){initNavTree('funknown_8h.html',''); initResizable(true); });
|
|
/* @license-end */
|
|
</script>
|
|
<div id="doc-content">
|
|
<!-- 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="#nested-classes">Classes</a> |
|
|
<a href="#namespaces">Namespaces</a> |
|
|
<a href="#define-members">Macros</a> |
|
|
<a href="#typedef-members">Typedefs</a> |
|
|
<a href="#enum-members">Enumerations</a> |
|
|
<a href="#func-members">Functions</a> </div>
|
|
<div class="headertitle"><div class="title">funknown.h File Reference</div></div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
<div class="textblock"><code>#include "<a class="el" href="fplatform_8h.html">pluginterfaces/base/fplatform.h</a>"</code><br />
|
|
<code>#include "<a class="el" href="ftypes_8h.html">pluginterfaces/base/ftypes.h</a>"</code><br />
|
|
<code>#include "<a class="el" href="smartpointer_8h.html">pluginterfaces/base/smartpointer.h</a>"</code><br />
|
|
<code>#include <cstring></code><br />
|
|
</div><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
|
|
Classes</h2></td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classSteinberg_1_1FUID.html">FUID</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Handling 16 Byte Globally Unique Identifiers. <a href="classSteinberg_1_1FUID.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classSteinberg_1_1FUnknown.html">FUnknown</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">The basic interface of all interfaces. <a href="classSteinberg_1_1FUnknown.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classSteinberg_1_1FUnknownPtr.html">FUnknownPtr< I ></a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classSteinberg_1_1FUnknownPtr.html" title="FUnknownPtr - automatic interface conversion and smart pointer in one.">FUnknownPtr</a> - automatic interface conversion and smart pointer in one. <a href="classSteinberg_1_1FUnknownPtr.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="structSteinberg_1_1FReleaser.html">FReleaser</a></td></tr>
|
|
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Release an interface using automatic object (obsolete). <a href="structSteinberg_1_1FReleaser.html#details">More...</a><br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
|
|
Namespaces</h2></td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceSteinberg.html">Steinberg</a></td></tr>
|
|
<tr class="memdesc:namespaceSteinberg"><td class="mdescLeft"> </td><td class="mdescRight">This header provides classes for working with <a class="el" href="classSteinberg_1_1FUnknown.html" title="The basic interface of all interfaces.">FUnknown</a>. <br /></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceSteinberg_1_1FUnknownPrivate.html">Steinberg::FUnknownPrivate</a></td></tr>
|
|
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
|
|
Macros</h2></td></tr>
|
|
<tr class="memitem:a8024fad3ea7ecdd1ab3221d15e04aa52" id="r_a8024fad3ea7ecdd1ab3221d15e04aa52"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#a8024fad3ea7ecdd1ab3221d15e04aa52">INLINE_UID</a>(l1, l2, l3, l4)</td></tr>
|
|
<tr class="separator:a8024fad3ea7ecdd1ab3221d15e04aa52"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a5e349c26a022f90b3562eeb32976e6ed" id="r_a5e349c26a022f90b3562eeb32976e6ed"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#a5e349c26a022f90b3562eeb32976e6ed">DECLARE_UID</a>(name, l1, l2, l3, l4)</td></tr>
|
|
<tr class="separator:a5e349c26a022f90b3562eeb32976e6ed"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a845c8fdb88f7f23c4060134a798a1e7d" id="r_a845c8fdb88f7f23c4060134a798a1e7d"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#a845c8fdb88f7f23c4060134a798a1e7d">EXTERN_UID</a>(name)</td></tr>
|
|
<tr class="separator:a845c8fdb88f7f23c4060134a798a1e7d"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aae92a855975a91bb846f6e0f906745f1" id="r_aae92a855975a91bb846f6e0f906745f1"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#aae92a855975a91bb846f6e0f906745f1">DECLARE_CLASS_IID</a>(ClassName, l1, l2, l3, l4)</td></tr>
|
|
<tr class="separator:aae92a855975a91bb846f6e0f906745f1"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a8999be9dadfd41e1f563866e01e94d1c" id="r_a8999be9dadfd41e1f563866e01e94d1c"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#a8999be9dadfd41e1f563866e01e94d1c">DEF_CLASS_IID</a>(ClassName)</td></tr>
|
|
<tr class="separator:a8999be9dadfd41e1f563866e01e94d1c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aaf419cd3f56488ae59cd1b9c8397377b" id="r_aaf419cd3f56488ae59cd1b9c8397377b"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#aaf419cd3f56488ae59cd1b9c8397377b">INLINE_UID_OF</a>(ClassName)</td></tr>
|
|
<tr class="separator:aaf419cd3f56488ae59cd1b9c8397377b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae43645513f5c72529a3fb6c6d1e76b46" id="r_ae43645513f5c72529a3fb6c6d1e76b46"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#ae43645513f5c72529a3fb6c6d1e76b46">INLINE_UID_FROM_FUID</a>(x)</td></tr>
|
|
<tr class="separator:ae43645513f5c72529a3fb6c6d1e76b46"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:acb6e5cc5e226c37c1fca4f5192fb80a2" id="r_acb6e5cc5e226c37c1fca4f5192fb80a2"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#acb6e5cc5e226c37c1fca4f5192fb80a2">DECLARE_FUNKNOWN_METHODS</a></td></tr>
|
|
<tr class="separator:acb6e5cc5e226c37c1fca4f5192fb80a2"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a6d9d411a27dcc158df8ff1f5e73510d0" id="r_a6d9d411a27dcc158df8ff1f5e73510d0"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#a6d9d411a27dcc158df8ff1f5e73510d0">DELEGATE_REFCOUNT</a>(ClassName)</td></tr>
|
|
<tr class="separator:a6d9d411a27dcc158df8ff1f5e73510d0"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ae3db5eac4c75b5199dcdc4462b6289aa" id="r_ae3db5eac4c75b5199dcdc4462b6289aa"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#ae3db5eac4c75b5199dcdc4462b6289aa">IMPLEMENT_REFCOUNT</a>(ClassName)</td></tr>
|
|
<tr class="separator:ae3db5eac4c75b5199dcdc4462b6289aa"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a2e898abff4a673feaa52f7ed20a42e50" id="r_a2e898abff4a673feaa52f7ed20a42e50"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#a2e898abff4a673feaa52f7ed20a42e50">FUNKNOWN_CTOR</a>   { __funknownRefCount = 1; }</td></tr>
|
|
<tr class="separator:a2e898abff4a673feaa52f7ed20a42e50"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ac31390eb834d3acfda3d871db3f9f959" id="r_ac31390eb834d3acfda3d871db3f9f959"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#ac31390eb834d3acfda3d871db3f9f959">FUNKNOWN_DTOR</a></td></tr>
|
|
<tr class="separator:ac31390eb834d3acfda3d871db3f9f959"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a1884893f6b75952d6e29bcd333f3ea40" id="r_a1884893f6b75952d6e29bcd333f3ea40"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#a1884893f6b75952d6e29bcd333f3ea40">QUERY_INTERFACE</a>(iid, obj, InterfaceIID, InterfaceName)</td></tr>
|
|
<tr class="separator:a1884893f6b75952d6e29bcd333f3ea40"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a023a5c16eb6b8a0057d712343f9d752c" id="r_a023a5c16eb6b8a0057d712343f9d752c"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#a023a5c16eb6b8a0057d712343f9d752c">IMPLEMENT_QUERYINTERFACE</a>(ClassName, InterfaceName, ClassIID)</td></tr>
|
|
<tr class="separator:a023a5c16eb6b8a0057d712343f9d752c"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a3131ec3273dc17d39bef17154309b893" id="r_a3131ec3273dc17d39bef17154309b893"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="#a3131ec3273dc17d39bef17154309b893">IMPLEMENT_FUNKNOWN_METHODS</a>(ClassName, InterfaceName, ClassIID)</td></tr>
|
|
<tr class="separator:a3131ec3273dc17d39bef17154309b893"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" name="typedef-members"></a>
|
|
Typedefs</h2></td></tr>
|
|
<tr class="memitem:ga9cd1730908299276af7bc0baa8c5197e" id="r_ga9cd1730908299276af7bc0baa8c5197e"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="group__smtgtypedef.html#ga7cde0074dfd288f2d70c0e035dacb28a">int64</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__smtgtypedef.html#ga9cd1730908299276af7bc0baa8c5197e">LARGE_INT</a></td></tr>
|
|
<tr class="separator:ga9cd1730908299276af7bc0baa8c5197e"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ga6935af93744bfe4ecc455f274ef1ec36" id="r_ga6935af93744bfe4ecc455f274ef1ec36"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="group__smtgtypedef.html#gaa9eb7d301130a7771343735bef461579">char</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__pluginBase.html#ga6935af93744bfe4ecc455f274ef1ec36">TUID</a>[16]</td></tr>
|
|
<tr class="memdesc:ga6935af93744bfe4ecc455f274ef1ec36"><td class="mdescLeft"> </td><td class="mdescRight">plain UID type <br /></td></tr>
|
|
<tr class="separator:ga6935af93744bfe4ecc455f274ef1ec36"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="enum-members" name="enum-members"></a>
|
|
Enumerations</h2></td></tr>
|
|
<tr class="memitem:a57098e3418561770792c2f29c4530c53" id="r_a57098e3418561770792c2f29c4530c53"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom">{ <br />
|
|
  <a class="el" href="namespaceSteinberg.html#a57098e3418561770792c2f29c4530c53a21f2c8af375a407ff9fb8d10e8e73a17">kNoInterface</a> = -1
|
|
, <a class="el" href="namespaceSteinberg.html#a57098e3418561770792c2f29c4530c53a941549edbe23d0f21851403ae03ad4df">kResultOk</a>
|
|
, <a class="el" href="namespaceSteinberg.html#a57098e3418561770792c2f29c4530c53a9e60fad4624bee040985edebe1800372">kResultTrue</a> = kResultOk
|
|
, <a class="el" href="namespaceSteinberg.html#a57098e3418561770792c2f29c4530c53ab954d2583eb15d3a762c5df29270f483">kResultFalse</a>
|
|
, <br />
|
|
  <a class="el" href="namespaceSteinberg.html#a57098e3418561770792c2f29c4530c53ace91375677eb541c1a70e7ecd95f5698">kInvalidArgument</a>
|
|
, <a class="el" href="namespaceSteinberg.html#a57098e3418561770792c2f29c4530c53a598e4c5d4c234c1bf09367d64487519c">kNotImplemented</a>
|
|
, <a class="el" href="namespaceSteinberg.html#a57098e3418561770792c2f29c4530c53a3b287aa91111dd8aedf4bbf363e01525">kInternalError</a>
|
|
, <a class="el" href="namespaceSteinberg.html#a57098e3418561770792c2f29c4530c53a1216e3377e943f8898e78c63422924aa">kNotInitialized</a>
|
|
, <br />
|
|
  <a class="el" href="namespaceSteinberg.html#a57098e3418561770792c2f29c4530c53ac43d80137687fc5c1c4b60dc77202283">kOutOfMemory</a>
|
|
<br />
|
|
}</td></tr>
|
|
<tr class="separator:a57098e3418561770792c2f29c4530c53"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table><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:afbf1ba7f286964b19e55474c2905eae4" id="r_afbf1ba7f286964b19e55474c2905eae4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="ftypes_8h.html#a3df4ece706682a504fa3d08c3b0a04a4">SMTG_ALWAYS_INLINE</a> bool </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceSteinberg_1_1FUnknownPrivate.html#afbf1ba7f286964b19e55474c2905eae4">iidEqual</a> (const void *iid1, const void *iid2)</td></tr>
|
|
<tr class="separator:afbf1ba7f286964b19e55474c2905eae4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:aeab173beb18bb16a5737f9fbe0a45289" id="r_aeab173beb18bb16a5737f9fbe0a45289"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__smtgtypedef.html#gab7903878916593daecbeb95b98115ab0">int32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceSteinberg_1_1FUnknownPrivate.html#aeab173beb18bb16a5737f9fbe0a45289">atomicAdd</a> (<a class="el" href="group__smtgtypedef.html#gab7903878916593daecbeb95b98115ab0">int32</a> &var, <a class="el" href="group__smtgtypedef.html#gab7903878916593daecbeb95b98115ab0">int32</a> d)</td></tr>
|
|
<tr class="separator:aeab173beb18bb16a5737f9fbe0a45289"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:ab5c714b140d499f304e042e746ca9b1b" id="r_ab5c714b140d499f304e042e746ca9b1b"><td class="memTemplParams" colspan="2">template<typename T> </td></tr>
|
|
<tr class="memitem:ab5c714b140d499f304e042e746ca9b1b"><td class="memTemplItemLeft" align="right" valign="top">const <a class="el" href="group__pluginBase.html#ga6935af93744bfe4ecc455f274ef1ec36">TUID</a> & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespaceSteinberg.html#ab5c714b140d499f304e042e746ca9b1b">getTUID</a> ()</td></tr>
|
|
<tr class="separator:ab5c714b140d499f304e042e746ca9b1b"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<h2 class="groupheader">Macro Definition Documentation</h2>
|
|
<a id="a8024fad3ea7ecdd1ab3221d15e04aa52" name="a8024fad3ea7ecdd1ab3221d15e04aa52"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a8024fad3ea7ecdd1ab3221d15e04aa52">◆ </a></span>INLINE_UID</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define INLINE_UID</td>
|
|
<td>(</td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>l1</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>l2</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>l3</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>l4</em></span> )</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<b>Value:</b><div class="fragment"><div class="line">{ \</div>
|
|
<div class="line"> (<a class="code hl_typedef" href="group__smtgtypedef.html#gae47c588f3ab8c61121c1c7ab7edc47cd">::Steinberg::int8</a>)(((<a class="code hl_typedef" href="group__smtgtypedef.html#gacbd4acd0d29e2d6c43104827f77d9cd2">::Steinberg::uint32</a>)(l1) & 0xFF000000) >> 24), (<a class="code hl_typedef" href="group__smtgtypedef.html#gae47c588f3ab8c61121c1c7ab7edc47cd">::Steinberg::int8</a>)(((<a class="code hl_typedef" href="group__smtgtypedef.html#gacbd4acd0d29e2d6c43104827f77d9cd2">::Steinberg::uint32</a>)(l1) & 0x00FF0000) >> 16), \</div>
|
|
<div class="line"> (<a class="code hl_typedef" href="group__smtgtypedef.html#gae47c588f3ab8c61121c1c7ab7edc47cd">::Steinberg::int8</a>)(((<a class="code hl_typedef" href="group__smtgtypedef.html#gacbd4acd0d29e2d6c43104827f77d9cd2">::Steinberg::uint32</a>)(l1) & 0x0000FF00) >> 8), (<a class="code hl_typedef" href="group__smtgtypedef.html#gae47c588f3ab8c61121c1c7ab7edc47cd">::Steinberg::int8</a>)(((<a class="code hl_typedef" href="group__smtgtypedef.html#gacbd4acd0d29e2d6c43104827f77d9cd2">::Steinberg::uint32</a>)(l1) & 0x000000FF) ), \</div>
|
|
<div class="line"> (<a class="code hl_typedef" href="group__smtgtypedef.html#gae47c588f3ab8c61121c1c7ab7edc47cd">::Steinberg::int8</a>)(((<a class="code hl_typedef" href="group__smtgtypedef.html#gacbd4acd0d29e2d6c43104827f77d9cd2">::Steinberg::uint32</a>)(l2) & 0xFF000000) >> 24), (<a class="code hl_typedef" href="group__smtgtypedef.html#gae47c588f3ab8c61121c1c7ab7edc47cd">::Steinberg::int8</a>)(((<a class="code hl_typedef" href="group__smtgtypedef.html#gacbd4acd0d29e2d6c43104827f77d9cd2">::Steinberg::uint32</a>)(l2) & 0x00FF0000) >> 16), \</div>
|
|
<div class="line"> (<a class="code hl_typedef" href="group__smtgtypedef.html#gae47c588f3ab8c61121c1c7ab7edc47cd">::Steinberg::int8</a>)(((<a class="code hl_typedef" href="group__smtgtypedef.html#gacbd4acd0d29e2d6c43104827f77d9cd2">::Steinberg::uint32</a>)(l2) & 0x0000FF00) >> 8), (<a class="code hl_typedef" href="group__smtgtypedef.html#gae47c588f3ab8c61121c1c7ab7edc47cd">::Steinberg::int8</a>)(((<a class="code hl_typedef" href="group__smtgtypedef.html#gacbd4acd0d29e2d6c43104827f77d9cd2">::Steinberg::uint32</a>)(l2) & 0x000000FF) ), \</div>
|
|
<div class="line"> (<a class="code hl_typedef" href="group__smtgtypedef.html#gae47c588f3ab8c61121c1c7ab7edc47cd">::Steinberg::int8</a>)(((<a class="code hl_typedef" href="group__smtgtypedef.html#gacbd4acd0d29e2d6c43104827f77d9cd2">::Steinberg::uint32</a>)(l3) & 0xFF000000) >> 24), (<a class="code hl_typedef" href="group__smtgtypedef.html#gae47c588f3ab8c61121c1c7ab7edc47cd">::Steinberg::int8</a>)(((<a class="code hl_typedef" href="group__smtgtypedef.html#gacbd4acd0d29e2d6c43104827f77d9cd2">::Steinberg::uint32</a>)(l3) & 0x00FF0000) >> 16), \</div>
|
|
<div class="line"> (<a class="code hl_typedef" href="group__smtgtypedef.html#gae47c588f3ab8c61121c1c7ab7edc47cd">::Steinberg::int8</a>)(((<a class="code hl_typedef" href="group__smtgtypedef.html#gacbd4acd0d29e2d6c43104827f77d9cd2">::Steinberg::uint32</a>)(l3) & 0x0000FF00) >> 8), (<a class="code hl_typedef" href="group__smtgtypedef.html#gae47c588f3ab8c61121c1c7ab7edc47cd">::Steinberg::int8</a>)(((<a class="code hl_typedef" href="group__smtgtypedef.html#gacbd4acd0d29e2d6c43104827f77d9cd2">::Steinberg::uint32</a>)(l3) & 0x000000FF) ), \</div>
|
|
<div class="line"> (<a class="code hl_typedef" href="group__smtgtypedef.html#gae47c588f3ab8c61121c1c7ab7edc47cd">::Steinberg::int8</a>)(((<a class="code hl_typedef" href="group__smtgtypedef.html#gacbd4acd0d29e2d6c43104827f77d9cd2">::Steinberg::uint32</a>)(l4) & 0xFF000000) >> 24), (<a class="code hl_typedef" href="group__smtgtypedef.html#gae47c588f3ab8c61121c1c7ab7edc47cd">::Steinberg::int8</a>)(((<a class="code hl_typedef" href="group__smtgtypedef.html#gacbd4acd0d29e2d6c43104827f77d9cd2">::Steinberg::uint32</a>)(l4) & 0x00FF0000) >> 16), \</div>
|
|
<div class="line"> (<a class="code hl_typedef" href="group__smtgtypedef.html#gae47c588f3ab8c61121c1c7ab7edc47cd">::Steinberg::int8</a>)(((<a class="code hl_typedef" href="group__smtgtypedef.html#gacbd4acd0d29e2d6c43104827f77d9cd2">::Steinberg::uint32</a>)(l4) & 0x0000FF00) >> 8), (<a class="code hl_typedef" href="group__smtgtypedef.html#gae47c588f3ab8c61121c1c7ab7edc47cd">::Steinberg::int8</a>)(((<a class="code hl_typedef" href="group__smtgtypedef.html#gacbd4acd0d29e2d6c43104827f77d9cd2">::Steinberg::uint32</a>)(l4) & 0x000000FF) ) \</div>
|
|
<div class="line">}</div>
|
|
<div class="ttc" id="agroup__smtgtypedef_html_gacbd4acd0d29e2d6c43104827f77d9cd2"><div class="ttname"><a href="group__smtgtypedef.html#gacbd4acd0d29e2d6c43104827f77d9cd2">Steinberg::uint32</a></div><div class="ttdeci">uint32_t uint32</div><div class="ttdef"><b>Definition</b> ftypes.h:53</div></div>
|
|
<div class="ttc" id="agroup__smtgtypedef_html_gae47c588f3ab8c61121c1c7ab7edc47cd"><div class="ttname"><a href="group__smtgtypedef.html#gae47c588f3ab8c61121c1c7ab7edc47cd">Steinberg::int8</a></div><div class="ttdeci">char int8</div><div class="ttdef"><b>Definition</b> ftypes.h:45</div></div>
|
|
</div><!-- fragment -->
|
|
</div>
|
|
</div>
|
|
<a id="a5e349c26a022f90b3562eeb32976e6ed" name="a5e349c26a022f90b3562eeb32976e6ed"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a5e349c26a022f90b3562eeb32976e6ed">◆ </a></span>DECLARE_UID</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define DECLARE_UID</td>
|
|
<td>(</td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>name</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>l1</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>l2</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>l3</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>l4</em></span> )</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<b>Value:</b><div class="fragment"><div class="line">SMTG_CONSTEXPR14 ::Steinberg::TUID name = <a class="code hl_define" href="#a8024fad3ea7ecdd1ab3221d15e04aa52">INLINE_UID</a> (l1, l2, l3, l4);</div>
|
|
<div class="ttc" id="afunknown_8h_html_a8024fad3ea7ecdd1ab3221d15e04aa52"><div class="ttname"><a href="#a8024fad3ea7ecdd1ab3221d15e04aa52">INLINE_UID</a></div><div class="ttdeci">#define INLINE_UID(l1, l2, l3, l4)</div><div class="ttdef"><b>Definition</b> funknown.h:49</div></div>
|
|
</div><!-- fragment -->
|
|
</div>
|
|
</div>
|
|
<a id="a845c8fdb88f7f23c4060134a798a1e7d" name="a845c8fdb88f7f23c4060134a798a1e7d"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a845c8fdb88f7f23c4060134a798a1e7d">◆ </a></span>EXTERN_UID</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define EXTERN_UID</td>
|
|
<td>(</td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>name</em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">extern</span> const ::Steinberg::TUID name;</div>
|
|
</div><!-- fragment -->
|
|
</div>
|
|
</div>
|
|
<a id="aae92a855975a91bb846f6e0f906745f1" name="aae92a855975a91bb846f6e0f906745f1"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aae92a855975a91bb846f6e0f906745f1">◆ </a></span>DECLARE_CLASS_IID</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define DECLARE_CLASS_IID</td>
|
|
<td>(</td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>ClassName</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>l1</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>l2</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>l3</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>l4</em></span> )</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<b>Value:</b><div class="fragment"><div class="line"> <span class="keyword">static</span> <a class="code hl_define" href="fplatform_8h.html#a835ee5da4abe58dfd57a80b26af96765">SMTG_CONSTEXPR14</a> const ::Steinberg::TUID ClassName##_iid = <a class="code hl_define" href="#a8024fad3ea7ecdd1ab3221d15e04aa52">INLINE_UID</a> (l1, l2, l3, l4);</div>
|
|
<div class="ttc" id="afplatform_8h_html_a835ee5da4abe58dfd57a80b26af96765"><div class="ttname"><a href="fplatform_8h.html#a835ee5da4abe58dfd57a80b26af96765">SMTG_CONSTEXPR14</a></div><div class="ttdeci">#define SMTG_CONSTEXPR14</div><div class="ttdef"><b>Definition</b> fplatform.h:312</div></div>
|
|
</div><!-- fragment -->
|
|
</div>
|
|
</div>
|
|
<a id="a8999be9dadfd41e1f563866e01e94d1c" name="a8999be9dadfd41e1f563866e01e94d1c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a8999be9dadfd41e1f563866e01e94d1c">◆ </a></span>DEF_CLASS_IID</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define DEF_CLASS_IID</td>
|
|
<td>(</td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>ClassName</em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<b>Value:</b><div class="fragment"><div class="line">const ::Steinberg::FUID ClassName::iid (ClassName##_iid);</div>
|
|
</div><!-- fragment -->
|
|
</div>
|
|
</div>
|
|
<a id="aaf419cd3f56488ae59cd1b9c8397377b" name="aaf419cd3f56488ae59cd1b9c8397377b"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#aaf419cd3f56488ae59cd1b9c8397377b">◆ </a></span>INLINE_UID_OF</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define INLINE_UID_OF</td>
|
|
<td>(</td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>ClassName</em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<b>Value:</b><div class="fragment"><div class="line">ClassName##_iid</div>
|
|
</div><!-- fragment -->
|
|
</div>
|
|
</div>
|
|
<a id="ae43645513f5c72529a3fb6c6d1e76b46" name="ae43645513f5c72529a3fb6c6d1e76b46"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae43645513f5c72529a3fb6c6d1e76b46">◆ </a></span>INLINE_UID_FROM_FUID</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define INLINE_UID_FROM_FUID</td>
|
|
<td>(</td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>x</em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<b>Value:</b><div class="fragment"><div class="line"> <a class="code hl_define" href="#a8024fad3ea7ecdd1ab3221d15e04aa52">INLINE_UID</a> (x.getLong1 (), x.getLong2 (), x.getLong3 (), x.getLong4 ())</div>
|
|
</div><!-- fragment -->
|
|
</div>
|
|
</div>
|
|
<a id="acb6e5cc5e226c37c1fca4f5192fb80a2" name="acb6e5cc5e226c37c1fca4f5192fb80a2"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#acb6e5cc5e226c37c1fca4f5192fb80a2">◆ </a></span>DECLARE_FUNKNOWN_METHODS</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define DECLARE_FUNKNOWN_METHODS</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">public</span>: \</div>
|
|
<div class="line"> virtual ::Steinberg::tresult PLUGIN_API queryInterface (const ::Steinberg::TUID _iid, <span class="keywordtype">void</span>** obj) <a class="code hl_define" href="fplatform_8h.html#a3c5f727b2149b22fddea9edf2add04a8">SMTG_OVERRIDE</a>; \</div>
|
|
<div class="line"> virtual ::Steinberg::uint32 PLUGIN_API addRef () <a class="code hl_define" href="fplatform_8h.html#a3c5f727b2149b22fddea9edf2add04a8">SMTG_OVERRIDE</a>; \</div>
|
|
<div class="line"> virtual ::<a class="code hl_namespace" href="namespaceSteinberg.html">Steinberg</a>::uint32 PLUGIN_API release () <a class="code hl_define" href="fplatform_8h.html#a3c5f727b2149b22fddea9edf2add04a8">SMTG_OVERRIDE</a>; \</div>
|
|
<div class="line">protected : \</div>
|
|
<div class="line"> ::<a class="code hl_namespace" href="namespaceSteinberg.html">Steinberg</a>::int32 __funknownRefCount; \</div>
|
|
<div class="line">public:</div>
|
|
<div class="ttc" id="afplatform_8h_html_a3c5f727b2149b22fddea9edf2add04a8"><div class="ttname"><a href="fplatform_8h.html#a3c5f727b2149b22fddea9edf2add04a8">SMTG_OVERRIDE</a></div><div class="ttdeci">#define SMTG_OVERRIDE</div><div class="ttdef"><b>Definition</b> fplatform.h:300</div></div>
|
|
<div class="ttc" id="anamespaceSteinberg_html"><div class="ttname"><a href="namespaceSteinberg.html">Steinberg</a></div><div class="ttdoc">This header provides classes for working with FUnknown.</div><div class="ttdef"><b>Definition</b> conststringtable.cpp:21</div></div>
|
|
</div><!-- fragment -->
|
|
</div>
|
|
</div>
|
|
<a id="a6d9d411a27dcc158df8ff1f5e73510d0" name="a6d9d411a27dcc158df8ff1f5e73510d0"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a6d9d411a27dcc158df8ff1f5e73510d0">◆ </a></span>DELEGATE_REFCOUNT</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define DELEGATE_REFCOUNT</td>
|
|
<td>(</td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>ClassName</em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<b>Value:</b><div class="fragment"><div class="line"><span class="keyword">public</span>: \</div>
|
|
<div class="line"> virtual ::Steinberg::uint32 PLUGIN_API addRef () <a class="code hl_define" href="fplatform_8h.html#a3c5f727b2149b22fddea9edf2add04a8">SMTG_OVERRIDE</a> { <span class="keywordflow">return</span> ClassName::addRef (); } \</div>
|
|
<div class="line"> virtual ::Steinberg::uint32 PLUGIN_API release () <a class="code hl_define" href="fplatform_8h.html#a3c5f727b2149b22fddea9edf2add04a8">SMTG_OVERRIDE</a> { <span class="keywordflow">return</span> ClassName::release (); }</div>
|
|
</div><!-- fragment -->
|
|
</div>
|
|
</div>
|
|
<a id="ae3db5eac4c75b5199dcdc4462b6289aa" name="ae3db5eac4c75b5199dcdc4462b6289aa"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ae3db5eac4c75b5199dcdc4462b6289aa">◆ </a></span>IMPLEMENT_REFCOUNT</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define IMPLEMENT_REFCOUNT</td>
|
|
<td>(</td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>ClassName</em></span></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<b>Value:</b><div class="fragment"><div class="line"><a class="code hl_typedef" href="group__smtgtypedef.html#gacbd4acd0d29e2d6c43104827f77d9cd2">::Steinberg::uint32</a> PLUGIN_API ClassName::addRef () \</div>
|
|
<div class="line">{ \</div>
|
|
<div class="line"> return ::Steinberg::FUnknownPrivate::atomicAdd (__funknownRefCount, 1); \</div>
|
|
<div class="line">} \</div>
|
|
<div class="line"><a class="code hl_typedef" href="group__smtgtypedef.html#gacbd4acd0d29e2d6c43104827f77d9cd2">::Steinberg::uint32</a> PLUGIN_API ClassName::release () \</div>
|
|
<div class="line">{ \</div>
|
|
<div class="line"> if (<a class="code hl_function" href="namespaceSteinberg_1_1FUnknownPrivate.html#aeab173beb18bb16a5737f9fbe0a45289">::Steinberg::FUnknownPrivate::atomicAdd</a> (__funknownRefCount, -1) == 0) \</div>
|
|
<div class="line"> { \</div>
|
|
<div class="line"> <span class="keyword">delete</span> <span class="keyword">this</span>; \</div>
|
|
<div class="line"> <span class="keywordflow">return</span> 0; \</div>
|
|
<div class="line"> } \</div>
|
|
<div class="line"> <span class="keywordflow">return</span> __funknownRefCount; \</div>
|
|
<div class="line">}</div>
|
|
<div class="ttc" id="anamespaceSteinberg_1_1FUnknownPrivate_html_aeab173beb18bb16a5737f9fbe0a45289"><div class="ttname"><a href="namespaceSteinberg_1_1FUnknownPrivate.html#aeab173beb18bb16a5737f9fbe0a45289">Steinberg::FUnknownPrivate::atomicAdd</a></div><div class="ttdeci">int32 atomicAdd(int32 &var, int32 d)</div><div class="ttdef"><b>Definition</b> funknown.cpp:87</div></div>
|
|
</div><!-- fragment -->
|
|
</div>
|
|
</div>
|
|
<a id="a2e898abff4a673feaa52f7ed20a42e50" name="a2e898abff4a673feaa52f7ed20a42e50"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a2e898abff4a673feaa52f7ed20a42e50">◆ </a></span>FUNKNOWN_CTOR</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define FUNKNOWN_CTOR   { __funknownRefCount = 1; }</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="ac31390eb834d3acfda3d871db3f9f959" name="ac31390eb834d3acfda3d871db3f9f959"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#ac31390eb834d3acfda3d871db3f9f959">◆ </a></span>FUNKNOWN_DTOR</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define FUNKNOWN_DTOR</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a1884893f6b75952d6e29bcd333f3ea40" name="a1884893f6b75952d6e29bcd333f3ea40"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a1884893f6b75952d6e29bcd333f3ea40">◆ </a></span>QUERY_INTERFACE</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define QUERY_INTERFACE</td>
|
|
<td>(</td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>iid</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>obj</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>InterfaceIID</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>InterfaceName</em></span> )</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<b>Value:</b><div class="fragment"><div class="line"><span class="keywordflow">if</span> (<a class="code hl_function" href="namespaceSteinberg_1_1FUnknownPrivate.html#afbf1ba7f286964b19e55474c2905eae4">::Steinberg::FUnknownPrivate::iidEqual</a> (iid, InterfaceIID)) \</div>
|
|
<div class="line">{ \</div>
|
|
<div class="line"> addRef (); \</div>
|
|
<div class="line"> *obj = <span class="keyword">static_cast<</span> InterfaceName* <span class="keyword">></span>(<span class="keyword">this</span>); \</div>
|
|
<div class="line"> return ::Steinberg::kResultOk; \</div>
|
|
<div class="line">}</div>
|
|
<div class="ttc" id="anamespaceSteinberg_1_1FUnknownPrivate_html_afbf1ba7f286964b19e55474c2905eae4"><div class="ttname"><a href="namespaceSteinberg_1_1FUnknownPrivate.html#afbf1ba7f286964b19e55474c2905eae4">Steinberg::FUnknownPrivate::iidEqual</a></div><div class="ttdeci">SMTG_ALWAYS_INLINE bool iidEqual(const void *iid1, const void *iid2)</div><div class="ttdef"><b>Definition</b> funknown.h:228</div></div>
|
|
</div><!-- fragment -->
|
|
</div>
|
|
</div>
|
|
<a id="a023a5c16eb6b8a0057d712343f9d752c" name="a023a5c16eb6b8a0057d712343f9d752c"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a023a5c16eb6b8a0057d712343f9d752c">◆ </a></span>IMPLEMENT_QUERYINTERFACE</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define IMPLEMENT_QUERYINTERFACE</td>
|
|
<td>(</td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>ClassName</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>InterfaceName</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>ClassIID</em></span> )</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<b>Value:</b><div class="fragment"><div class="line"><a class="code hl_typedef" href="group__smtgtypedef.html#ga902761e005a6252e538c766de48fc957">::Steinberg::tresult</a> PLUGIN_API ClassName::queryInterface (const ::Steinberg::TUID _iid, <span class="keywordtype">void</span>** obj)\</div>
|
|
<div class="line">{ \</div>
|
|
<div class="line"> QUERY_INTERFACE (_iid, obj, <a class="code hl_variable" href="classSteinberg_1_1FUnknown.html#a07978c93295b03d09c4bc97aa12e9c60">::Steinberg::FUnknown::iid</a>, InterfaceName) \</div>
|
|
<div class="line"> QUERY_INTERFACE (_iid, obj, ClassIID, InterfaceName) \</div>
|
|
<div class="line"> *obj = <span class="keyword">nullptr</span>; \</div>
|
|
<div class="line"> return ::Steinberg::kNoInterface; \</div>
|
|
<div class="line">}</div>
|
|
<div class="ttc" id="aclassSteinberg_1_1FUnknown_html_a07978c93295b03d09c4bc97aa12e9c60"><div class="ttname"><a href="classSteinberg_1_1FUnknown.html#a07978c93295b03d09c4bc97aa12e9c60">Steinberg::FUnknown::iid</a></div><div class="ttdeci">static const FUID iid</div><div class="ttdef"><b>Definition</b> funknown.h:396</div></div>
|
|
<div class="ttc" id="agroup__smtgtypedef_html_ga902761e005a6252e538c766de48fc957"><div class="ttname"><a href="group__smtgtypedef.html#ga902761e005a6252e538c766de48fc957">Steinberg::tresult</a></div><div class="ttdeci">int32 tresult</div><div class="ttdef"><b>Definition</b> ftypes.h:70</div></div>
|
|
</div><!-- fragment -->
|
|
</div>
|
|
</div>
|
|
<a id="a3131ec3273dc17d39bef17154309b893" name="a3131ec3273dc17d39bef17154309b893"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a3131ec3273dc17d39bef17154309b893">◆ </a></span>IMPLEMENT_FUNKNOWN_METHODS</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">#define IMPLEMENT_FUNKNOWN_METHODS</td>
|
|
<td>(</td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>ClassName</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>InterfaceName</em></span>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype"></td> <td class="paramname"><span class="paramname"><em>ClassIID</em></span> )</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
<b>Value:</b><div class="fragment"><div class="line"> <a class="code hl_define" href="#ae3db5eac4c75b5199dcdc4462b6289aa">IMPLEMENT_REFCOUNT</a> (ClassName) \</div>
|
|
<div class="line"> IMPLEMENT_QUERYINTERFACE (ClassName, InterfaceName, ClassIID)</div>
|
|
<div class="ttc" id="afunknown_8h_html_ae3db5eac4c75b5199dcdc4462b6289aa"><div class="ttname"><a href="#ae3db5eac4c75b5199dcdc4462b6289aa">IMPLEMENT_REFCOUNT</a></div><div class="ttdeci">#define IMPLEMENT_REFCOUNT(ClassName)</div><div class="ttdef"><b>Definition</b> funknown.h:105</div></div>
|
|
</div><!-- fragment -->
|
|
</div>
|
|
</div>
|
|
</div><!-- contents -->
|
|
</div><!-- doc-content -->
|
|
<html>
|
|
<head>
|
|
<title>Empty</title>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
<meta name="Author" content="Steinberg">
|
|
</head>
|
|
<body>
|
|
<br/>
|
|
<hr width="100%" size="2" align="left" />
|
|
<div align=right>
|
|
Copyright ©<span id="year"></span> <a href="http://www.steinberg.net" target="_blank"><u>Steinberg Media Technologies GmbH</u></a>.
|
|
All Rights Reserved. This documentation is under this <a href="http://www.steinberg.net/sdklicenses" target="_blank"><u>license</u></a>.
|
|
</div>
|
|
<script>
|
|
document.querySelector("#year").textContent = new Date().getFullYear();
|
|
</script>
|
|
</body>
|
|
</html>
|