1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3<html xml:lang="en-US" lang="en-US" xmlns="http://www.w3.org/1999/xhtml">
4<head>
5    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6    <meta http-equiv="Content-Style-Type" content="text/css" />
7    <link rel="stylesheet" href="../../css/manpage.css" type="text/css" />
8</head>
9<body>
10
11<h1><CODE>ro</CODE> - <CODE>plugin</CODE> Demo</h1>
12
13<h2>Description</h2>
14
15<div class="section">
16    <p>
17        This demo simultaneously loads multiple dynamic modules that publicly declare symbols with the same name, and then calls them.
18    </p>
19</div>
20
21<h2>Required Environment</h2>
22
23<div class="section">
24    <p>None.</p>
25</div>
26
27<h2>How to Use</h2>
28
29<div class="section">
30    <p>None.</p>
31</div>
32
33<h2>Notes</h2>
34
35<div class="section">
36    <p>
37        This demo does not display anything on the screen. The only output is debugger output.
38    </p>
39</div>
40
41<h2>Description</h2>
42
43<div class="section">
44    <p>
45        The <CODE>Module1</CODE> and <CODE>Module2</CODE> dynamic modules in this demo both publicly declare a function called <CODE>TestFunc</CODE>. A static module loads the two dynamic modules and then calls <CODE>TestFunc</CODE> normally, but in this case, only one of the two function definitions is used in the calls. The demo then uses the <CODE>nn::ro::Module::GetPointer</CODE> function to get the explicit address to the functions from the modules, and then calls the functions via function pointers. Getting the explicit addresses from the modules allows you to call two different functions that have the same name.
46    </p>
47</div>
48
49<h2>Revision History</h2>
50
51<div class="section">
52    <dl class="history">
53        <dt>2011/12/12</dt>
54        <dd>Initial version.</dd>
55    </dl>
56</div>
57
58
59<hr><p>CONFIDENTIAL</p></body>
60</html>