<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2015554925949845258</id><updated>2025-08-15T11:29:58.084+09:00</updated><category term="Research"/><category term="Programming"/><category term="Visual C#/C++/.Net"/><category term="Technology"/><category term="LabVIEW"/><category term="Acoustic Sensor"/><category term="Fiber Bragg Grating"/><category term="KOREA"/><category term="My Philosophy"/><category term="SHM"/><category term="Structural Health Monitoring"/><category term="Video"/><category term="Conference"/><category term="Dream"/><category term="FPGA"/><category term="Journal"/><category term="Laser Ultrasonic"/><category term="My Dream"/><category term="My Story"/><category term="NDE"/><category term="NDT"/><category term="Nuclear Power Plant"/><category term="Quotes"/><category term="XML"/><category term="youtube"/><title type='text'>Andy</title><subtitle type='html'>Life is a series of chapters in a book waiting to be filled with words.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.shienandy.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2015554925949845258/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://blog.shienandy.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Andy</name><uri>http://www.blogger.com/profile/02413211813827578740</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqJ3NhbxqU4vGu3sVqHp8j3jHxWOvOqwkG-QlE8OF912wePhMikqV2r2wfK0vlDbsX3LToJ7vEW17Kgp6WMRgOhBdyFNu2cIZyZwmBM4rG5XMVt9OaSj6ICvO0jj7AZw/s220/WP_20161217_10_10_46_Pro.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>20</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2015554925949845258.post-6807740582017392750</id><published>2012-01-04T12:20:00.000+09:00</published><updated>2012-01-04T12:20:11.077+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Research"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual C#/C++/.Net"/><title type='text'>Extract values from vary controls and Write it on XML</title><content type='html'>This has found in forum who shared the problem and solution as mentioned above title.&lt;br /&gt;
Background:&lt;br /&gt;
A form contains many controls, such as TextBox, ComboBox and etc...&lt;br /&gt;
Then, we need to extract the value from these options.&lt;br /&gt;
&lt;br /&gt;
The code example is as below:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;default prettyprint&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, serif; font-size: 14px; line-height: 18px; margin-bottom: 10px; max-height: 600px; overflow-x: auto; overflow-y: auto; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; text-align: left; vertical-align: baseline; width: auto;&quot;&gt;&lt;code style=&quot;background-attachment: initial; background-clip: initial; background-color: #eeeeee; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, serif; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;&lt;span class=&quot;kwd&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: darkblue; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;foreach&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #2b91af; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;Control&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt; control &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: darkblue; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;in&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: darkblue; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;this&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #2b91af; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;Controls&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;com&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: grey; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;//here &#39;this&#39; is representing the form you want to iterate through&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;

&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;com&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: grey; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;//you can check whether it is a combobox or a text box&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: darkblue; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;control&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #2b91af; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;GetType&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;()&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: darkblue; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;typeof&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #2b91af; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;Combobox&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;))&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;com&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: grey; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;//this is a combo box&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: darkblue; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;else&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: darkblue; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;if&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;control&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #2b91af; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;GetType&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;()&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;==&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: darkblue; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;typeof&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #2b91af; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;Textbox&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;))&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;com&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: grey; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;//this is a text box&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;pre class=&quot;default prettyprint&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, serif; font-size: 14px; line-height: 18px; margin-bottom: 10px; max-height: 600px; overflow-x: auto; overflow-y: auto; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; text-align: left; vertical-align: baseline; width: auto;&quot;&gt;This is a nice example as for beginner like me ^^/&lt;/pre&gt;
&lt;pre class=&quot;default prettyprint&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, serif; font-size: 14px; line-height: 18px; margin-bottom: 10px; max-height: 600px; overflow-x: auto; overflow-y: auto; padding-bottom: 5px; padding-left: 5px; padding-right: 5px; padding-top: 5px; text-align: left; vertical-align: baseline; width: auto;&quot;&gt;Link: &lt;a href=&quot;http://stackoverflow.com/questions/6400382/how-do-i-extract-values-from-controls-and-write-it-on-xml&quot; style=&quot;background-color: transparent;&quot;&gt;http://stackoverflow.com/questions/6400382/how-do-i-extract-values-from-controls-and-write-it-on-xml&lt;/a&gt;&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.shienandy.com/feeds/6807740582017392750/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2015554925949845258/6807740582017392750' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2015554925949845258/posts/default/6807740582017392750'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2015554925949845258/posts/default/6807740582017392750'/><link rel='alternate' type='text/html' href='http://blog.shienandy.com/2012/01/extract-values-from-vary-controls-and.html' title='Extract values from vary controls and Write it on XML'/><author><name>Andy</name><uri>http://www.blogger.com/profile/02413211813827578740</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqJ3NhbxqU4vGu3sVqHp8j3jHxWOvOqwkG-QlE8OF912wePhMikqV2r2wfK0vlDbsX3LToJ7vEW17Kgp6WMRgOhBdyFNu2cIZyZwmBM4rG5XMVt9OaSj6ICvO0jj7AZw/s220/WP_20161217_10_10_46_Pro.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2015554925949845258.post-1374558584680928474</id><published>2012-01-02T21:06:00.001+09:00</published><updated>2012-01-03T14:33:22.636+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Research"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual C#/C++/.Net"/><category scheme="http://www.blogger.com/atom/ns#" term="XML"/><title type='text'>Save and Read Combo Box Items from an XML File</title><content type='html'>&lt;b&gt;Introduction&lt;/b&gt;&lt;br /&gt;
When discussing file processing, we mentioned that it is sometimes necessary to automatically save a file when an application exits, without any intervention from the user. You can also solve this exact problem using XML. The ever growing strength of XML is in its ability to let modify a file however but still make that file usable by any environment that needs its content.&lt;br /&gt;
&lt;br /&gt;
We are going to create an &lt;a href=&quot;http://blog.shienandy.com/&quot;&gt;XML file&lt;/a&gt; that holds a list of items for a combo box. Once the file exists, it can be processed or modified by any application that can read XML. We will load the file automatically when the application opens and retrieve the values of the elements to complete a &lt;a href=&quot;http://blog.shienandy.com/&quot;&gt;combo box&lt;/a&gt;. While using the application, we will allow the user to change the list. When the application closes, we will retrieve the list of items from the combo box and update (in reality) recreate the list that includes the new items.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Practical Learning: Using XML Values&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Related link:Start Visual C# and create a new Windows Forms Application named XmlListUpdate1&lt;br /&gt;
2. To create an XML file, on the main menu, click Project -&amp;gt; Add New Item...&lt;br /&gt;
3. In the Templates list, click &lt;a href=&quot;http://blog.shienandy.com/&quot;&gt;XML File&lt;/a&gt; (.xml)&lt;br /&gt;
4. In the Name box, replace the string with ISFlavors and click open&lt;br /&gt;
5. Change the contents of the file as follows:&lt;br /&gt;
&lt;div&gt;
6. Save this XML file in your bin\Debug folder&lt;/div&gt;
&lt;div&gt;
7. Design the form as follows:&lt;br /&gt;
&lt;div&gt;
&lt;ol&gt;&lt;a href=&quot;http://www.functionx.com/vcsharp2003/xml/images/comboupdate1.gif&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.functionx.com/vcsharp2003/xml/images/comboupdate1.gif&quot; /&gt;&lt;/a&gt;
&lt;/ol&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
http://www.functionx.com/vcsharp2003/xml/comboboxitems.htm&lt;br /&gt;
&lt;div&gt;
&lt;a href=&quot;http://csharp.net-informations.com/xml/how-to-read-xml.htm&quot;&gt;http://csharp.net-informations.com/xml/how-to-read-xml.htm&lt;/a&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.shienandy.com/feeds/1374558584680928474/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2015554925949845258/1374558584680928474' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2015554925949845258/posts/default/1374558584680928474'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2015554925949845258/posts/default/1374558584680928474'/><link rel='alternate' type='text/html' href='http://blog.shienandy.com/2012/01/save-and-read-combo-box-items-from-xml.html' title='Save and Read Combo Box Items from an XML File'/><author><name>Andy</name><uri>http://www.blogger.com/profile/02413211813827578740</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqJ3NhbxqU4vGu3sVqHp8j3jHxWOvOqwkG-QlE8OF912wePhMikqV2r2wfK0vlDbsX3LToJ7vEW17Kgp6WMRgOhBdyFNu2cIZyZwmBM4rG5XMVt9OaSj6ICvO0jj7AZw/s220/WP_20161217_10_10_46_Pro.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2015554925949845258.post-4091941664870867341</id><published>2012-01-01T20:26:00.002+09:00</published><updated>2012-01-01T20:27:14.403+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Research"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual C#/C++/.Net"/><title type='text'>How to read APP.CONFIG for user defined run-time parameters</title><content type='html'>&lt;br /&gt;
These are the steps involved in defining runtime parameters and using them in your code.&lt;br /&gt;
1. &lt;a href=&quot;http://blog.shienandy.com/&quot;&gt;Create a App.Config file&lt;/a&gt;&lt;br /&gt;
2. Define the runtime parameters and provide values for these&lt;br /&gt;
3. Access these parameters in your code&lt;br /&gt;
4. Verify changing the parameter value at runtime affects the application&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
Step 1: Create App.Config file&lt;/b&gt;&lt;br /&gt;
1a. Create a Console Application&lt;br /&gt;
1b. In Solution Explorer, right click on project. Add-&amp;gt;New Item. 
Select Application Configuration file. This file will be added to your 
project.&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;
Step 2: Define the runtime parameters and provide values for these&lt;/b&gt;&lt;br /&gt;
2a. Open App.Config.&lt;br /&gt;
2b. Define the keys and values for your runtime parameters.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Example:&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&lt;configuration&gt;&lt;/configuration&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&lt;appsettings&gt;&lt;/appsettings&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&lt;add key=&quot;OperatorName&quot; value=&quot;Rita&quot;&gt;&lt;/add&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&lt;add key=&quot;LoggerLevel&quot; value=&quot;5&quot;&gt;&lt;/add&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
You can define any key and provide values. Ensure you don’t have duplicate keys.&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;br /&gt;
Step 3: Access these parameters in your code &lt;/b&gt;&lt;/div&gt;
3a. Add a refernce System.Configuration DLL.&lt;sup&gt;1&lt;/sup&gt;&lt;br /&gt;
3b. Add the following lines in your code. You can directly add these lines in Main.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Example:&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;string name = System.Configuration.ConfigurationManager.AppSettings[&quot;OperatorName&quot;];&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;Console.Writeline(&quot;Welcome &quot; + name);&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;string level = System.Configuration.ConfigurationManager.AppSettings[&quot;LoggerLevel&quot;];&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace; font-size: x-small;&quot;&gt;Console.Writeline(&quot;Logger level: &quot; + level);&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
3c. Build your project and execute it.The output should be:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;
Welcome Rita&lt;br /&gt;
Logger level: 5&lt;/blockquote&gt;
&lt;b&gt;&lt;br /&gt;
Step 4: Verify changing the parameter value at runtime affects the application&lt;/b&gt;&lt;br /&gt;
4a. When you build your project, the &lt;a href=&quot;http://blog.shienandy.com/&quot;&gt;App.Config file&lt;/a&gt; is copied to 
your Debug/Release folder with the name .exe.config. My project is named
 UseAppConfig. The App.Config in my Debug folder is 
UseAppConfig.exe.config&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Open the .config file in your working directory 
(Debug/Release). Change the values to Mary and 1. In the same folder you
 will see your executbale. Double click on this and you should see the 
new values.&lt;sup&gt;2&lt;/sup&gt;&lt;/div&gt;
You are all set. You can identify all those parameters that make 
sense as runtime parameters,  define a meaningful key for each parameter
 and start using it.  You no longer have to build your application every
 time you want to change the parameter value.&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;
Notes&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;1: You need this reference only if you are using .NET  2.0&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;2: If you change the &lt;a href=&quot;http://blog.shienandy.com/&quot;&gt;App.Config&lt;/a&gt;&amp;nbsp;from &lt;a href=&quot;http://blog.shienandy.com/&quot;&gt;Visual Studio IDE&lt;/a&gt;, then you need to rebuild your project to see the new values.&lt;/i&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.shienandy.com/feeds/4091941664870867341/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2015554925949845258/4091941664870867341' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2015554925949845258/posts/default/4091941664870867341'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2015554925949845258/posts/default/4091941664870867341'/><link rel='alternate' type='text/html' href='http://blog.shienandy.com/2012/01/how-to-read-appconfig-for-user-defined.html' title='How to read APP.CONFIG for user defined run-time parameters'/><author><name>Andy</name><uri>http://www.blogger.com/profile/02413211813827578740</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqJ3NhbxqU4vGu3sVqHp8j3jHxWOvOqwkG-QlE8OF912wePhMikqV2r2wfK0vlDbsX3LToJ7vEW17Kgp6WMRgOhBdyFNu2cIZyZwmBM4rG5XMVt9OaSj6ICvO0jj7AZw/s220/WP_20161217_10_10_46_Pro.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2015554925949845258.post-2404131799687721184</id><published>2011-12-31T02:52:00.001+09:00</published><updated>2011-12-31T02:53:51.110+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Research"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual C#/C++/.Net"/><title type='text'>Visual C# Controls Tutorial - ComboBoxes</title><content type='html'>&lt;iframe allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;344&quot; src=&quot;http://www.youtube.com/embed/o5gyINjernc?fs=1&quot; width=&quot;459&quot;&gt;&lt;/iframe&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.shienandy.com/feeds/2404131799687721184/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2015554925949845258/2404131799687721184' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2015554925949845258/posts/default/2404131799687721184'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2015554925949845258/posts/default/2404131799687721184'/><link rel='alternate' type='text/html' href='http://blog.shienandy.com/2011/12/visual-c-controls-tutorial-comboboxes.html' title='Visual C# Controls Tutorial - ComboBoxes'/><author><name>Andy</name><uri>http://www.blogger.com/profile/02413211813827578740</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqJ3NhbxqU4vGu3sVqHp8j3jHxWOvOqwkG-QlE8OF912wePhMikqV2r2wfK0vlDbsX3LToJ7vEW17Kgp6WMRgOhBdyFNu2cIZyZwmBM4rG5XMVt9OaSj6ICvO0jj7AZw/s220/WP_20161217_10_10_46_Pro.jpg'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/o5gyINjernc/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2015554925949845258.post-2959438674792579192</id><published>2011-12-26T18:53:00.001+09:00</published><updated>2011-12-26T18:53:34.814+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Research"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual C#/C++/.Net"/><title type='text'>Creating Multiple Forms in C#.NET</title><content type='html'>&lt;br /&gt;
There aren&#39;t many programmes that have only one form. Most programmes have 
other forms that are accessible from the main one that loads at start up. In 
this section, you&#39;ll learn &lt;a href=&quot;http://blog.shienandy.com/&quot;&gt;how to create programmes with more than one form in C#.NET&lt;/a&gt;.&lt;br /&gt;
The programme we&#39;ll create is very simple one. It will have a main form with 
a text box and a button. When the button is clicked, it will launch a second 
form. On the second form, we&#39;ll allow a user to change the case of the text in 
the text box on form one.&lt;br /&gt;
Here&#39;s what form one looks like:&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;Change Case Form&quot; height=&quot;300&quot; src=&quot;http://www.homeandlearn.co.uk/csharp/images/extras/form1.gif&quot; width=&quot;300&quot; /&gt;&lt;/div&gt;
Design the above form. Set the Name property of the text box to 
&lt;b&gt;txtChangeCase&lt;/b&gt;. For the Text property, add some default text, but all in 
lowercase letters. Set the Name property of the button to &lt;b&gt;btnFormTwo&lt;/b&gt;.&lt;br /&gt;
Adding a new form to the project is easy. Click Project from the menu bar at 
the top of the Visual C# software. From the Project menu, select &lt;b&gt;Add New 
Windows Form&lt;/b&gt;. You&#39;ll see the &lt;b&gt;Add New Item&lt;/b&gt; dialogue box appear. Make 
sure Windows Form is selected. For the Name, leave it on the default of&lt;b&gt; 
Form2.cs&lt;/b&gt;. When you click OK, you should see a new blank form appear:&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;Form Tabs in Visual C# .NET&quot; border=&quot;1&quot; height=&quot;24&quot; src=&quot;http://www.homeandlearn.co.uk/csharp/images/extras/formTabs.gif&quot; width=&quot;236&quot; /&gt;&lt;/div&gt;
It will also be in the Solution Explorer on the right:&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;A second form showing in the Solution Explorer&quot; border=&quot;1&quot; height=&quot;232&quot; src=&quot;http://www.homeandlearn.co.uk/csharp/images/extras/forms_SolutionExplorer.gif&quot; width=&quot;278&quot; /&gt;&lt;/div&gt;
Adding the form to the project is the easy part - getting it to display is an 
entirely different matter!&lt;br /&gt;
To display the second form, you have to bear in mind that forms are classes. 
When the programme first runs, C# will create an object from your Form1 class. 
But it won&#39;t do anything with your Form2 class. You have to create the object 
yourself.&lt;br /&gt;
So double click the button on your Form1 to get at the coding window.&lt;br /&gt;
To create a Form2 object, declare a variable of Type &lt;b&gt;Form2&lt;/b&gt;:&lt;br /&gt;
&lt;div class=&quot;TextIndent3&quot;&gt;
&lt;b&gt;&lt;span style=&quot;color: #006600;&quot;&gt;Form2&lt;/span&gt; secondForm;&lt;/b&gt;&lt;/div&gt;
Now create a new object:&lt;br /&gt;
&lt;div class=&quot;TextIndent3&quot;&gt;
&lt;b&gt;secondForm = new Form2();&lt;/b&gt;&lt;/div&gt;
Or if you prefer, put it all on one line:&lt;br /&gt;
&lt;div class=&quot;TextIndent3&quot;&gt;
&lt;b&gt;&lt;span style=&quot;color: #006600;&quot;&gt;Form2&lt;/span&gt; secondForm = &lt;span style=&quot;color: blue;&quot;&gt;new&lt;/span&gt; &lt;span style=&quot;color: #006600;&quot;&gt;Form2&lt;/span&gt;();&lt;/b&gt;&lt;/div&gt;
What we&#39;ve done here is to create a new object from the Class called Form2. 
The name of our variable is secondForm.&lt;br /&gt;
To get this new form to appear, you use the Show( ) method of the object:&lt;br /&gt;
&lt;div class=&quot;TextIndent3&quot;&gt;
&lt;b&gt;secondForm.Show();&lt;/b&gt;&lt;/div&gt;
Your code should now look like this:&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;C# code to create a second form&quot; border=&quot;1&quot; height=&quot;102&quot; src=&quot;http://www.homeandlearn.co.uk/csharp/images/extras/form1_code.gif&quot; width=&quot;411&quot; /&gt;&lt;/div&gt;
Run your programme and test it out. Click your button and a new form should 
appear - the blank second form.&lt;br /&gt;
However, there&#39;s a slight problem. Click the button again and a new form will 
appear. Keep clicking the button and your screen will be filled with blank 
forms!&lt;br /&gt;
To stop this from happening, move the code that creates the form outside of 
the button. Like this:&lt;br /&gt;
&lt;div align=&quot;center&quot;&gt;
&lt;img alt=&quot;C# code to Show the form&quot; border=&quot;1&quot; height=&quot;112&quot; src=&quot;http://www.homeandlearn.co.uk/csharp/images/extras/form1_code2.gif&quot; width=&quot;409&quot; /&gt;&lt;/div&gt;
Try your programme again. Click the button and you won&#39;t get lots of forms 
filling the screen.&lt;br /&gt;
&lt;br /&gt;
Related Link:&lt;br /&gt;
1. http://www.homeandlearn.co.uk/csharp/csharp_s13p1.html&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.shienandy.com/feeds/2959438674792579192/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2015554925949845258/2959438674792579192' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2015554925949845258/posts/default/2959438674792579192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2015554925949845258/posts/default/2959438674792579192'/><link rel='alternate' type='text/html' href='http://blog.shienandy.com/2011/12/creating-multiple-forms-in-cnet.html' title='Creating Multiple Forms in C#.NET'/><author><name>Andy</name><uri>http://www.blogger.com/profile/02413211813827578740</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqJ3NhbxqU4vGu3sVqHp8j3jHxWOvOqwkG-QlE8OF912wePhMikqV2r2wfK0vlDbsX3LToJ7vEW17Kgp6WMRgOhBdyFNu2cIZyZwmBM4rG5XMVt9OaSj6ICvO0jj7AZw/s220/WP_20161217_10_10_46_Pro.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2015554925949845258.post-3820791153893685571</id><published>2011-12-25T12:47:00.000+09:00</published><updated>2011-12-25T18:02:39.878+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Research"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual C#/C++/.Net"/><title type='text'>Split Container Control in C#</title><content type='html'>&lt;b&gt;What is &lt;a href=&quot;http://blog.shienandy.com/&quot;&gt;Split Container control in C#&lt;/a&gt;?&lt;/b&gt;&lt;br /&gt;
Split Container control provides functionality of a splitter to divide and resize two controls.You can place it at form horizontally or vertically by specifiying Orientation property each represents left/top and right/bottom panels respectively.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Useful properties:&lt;/b&gt;&lt;br /&gt;
&lt;ul style=&quot;background-color: white;&quot;&gt;
&lt;li&gt;&lt;div align=&quot;justify&quot;&gt;
&lt;span style=&quot;font-family: Verdana; font-size: x-small;&quot;&gt;&lt;b&gt;AutoScroll:&lt;/b&gt;&amp;nbsp;This property when set to true, allows scroll bars to be displayed.&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;&lt;div align=&quot;justify&quot;&gt;
&lt;span style=&quot;font-family: Verdana; font-size: x-small;&quot;&gt;&lt;b&gt;BackColor:&lt;/b&gt;&amp;nbsp;The background color of the SplitContainer is defaulted to System.Drawing.SystemColors.Control, but this can be set to any color you like. The whole of the SplitContainer changes color, however, each Panel can have its own background color.&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;&lt;div align=&quot;justify&quot;&gt;
&lt;span style=&quot;font-family: Verdana; font-size: x-small;&quot;&gt;&lt;b&gt;BackgroundImage&lt;/b&gt;: Instead of a single color, an image can be displayed as the background. The image only appears in the splitter bar.&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;&lt;div align=&quot;justify&quot;&gt;
&lt;span style=&quot;font-family: Verdana; font-size: x-small;&quot;&gt;&lt;b&gt;BorderStyle:&lt;/b&gt;&amp;nbsp;This property determines if the panel is outlined with no visible border (None), a plain line (FixedSingle), or a shadowed line (Fixed3D).&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;&lt;div align=&quot;justify&quot;&gt;
&lt;span style=&quot;font-family: Verdana; font-size: x-small;&quot;&gt;&lt;b&gt;Dock:&lt;/b&gt;&amp;nbsp;Determines which SplitContainer borders are attached to the edges of the container. When a SplitContainer control is dropped onto a container, this property defaults to Fill.&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;&lt;div align=&quot;justify&quot;&gt;
&lt;span style=&quot;font-family: Verdana; font-size: x-small;&quot;&gt;&lt;b&gt;FixedPanel:&amp;nbsp;&lt;/b&gt;Determines which SplitContainer panel remains the same size when the container is resized. This property takes a value from the FixedPanel enumeration, the default value is None:&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;&lt;div align=&quot;justify&quot;&gt;
&lt;span style=&quot;font-family: Verdana; font-size: x-small;&quot;&gt;&lt;b&gt;None&lt;/b&gt;: Specifies that neither SplitContainer.Panel1, SplitContainer.Panel2 is fixed. A Control.Resize event affects both panels.&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;&lt;div align=&quot;justify&quot;&gt;
&lt;span style=&quot;font-family: Verdana; font-size: x-small;&quot;&gt;&lt;b&gt;Panel1:&amp;nbsp;&lt;/b&gt;Specifies that SplitContainer.Panel1 is fixed. A Control.Resize event affects only SplitContainer.Panel2.&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;&lt;div align=&quot;justify&quot;&gt;
&lt;span style=&quot;font-family: Verdana; font-size: x-small;&quot;&gt;&lt;b&gt;Panel2:&amp;nbsp;&lt;/b&gt;Specifies that SplitContainer.Panel2 is fixed. A Control.Resize event affects only SplitContainer.Panel1.&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;&lt;div align=&quot;justify&quot;&gt;
&lt;span style=&quot;font-family: Verdana; font-size: x-small;&quot;&gt;&lt;b&gt;IsSplitterFixed:&amp;nbsp;&lt;/b&gt;Gets or sets a value indicating whether the splitter is fixed or movable.&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;&lt;div align=&quot;justify&quot;&gt;
&lt;span style=&quot;font-family: Verdana; font-size: x-small;&quot;&gt;&lt;b&gt;Orientation:&lt;/b&gt;Gets or sets a value indicating the Horizontal or Vertical orientation of the SplitContainer panels.&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;&lt;div align=&quot;justify&quot;&gt;
&lt;span style=&quot;font-family: Verdana; font-size: x-small;&quot;&gt;&lt;b&gt;Panel1:&lt;/b&gt;&amp;nbsp;Gets the left panel of a vertical SplitContainer or the top panel of a horizontal SplitContainer. When you click on this property in the IDE properties pane, you can edit the properties of the underlying Panel.&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;&lt;div align=&quot;justify&quot;&gt;
&lt;span style=&quot;font-family: Verdana; font-size: x-small;&quot;&gt;&lt;b&gt;Panel1Collapsed&lt;/b&gt;: Determines whether Panel1 is collapsed or expanded. When this value is true, Panel1 is hidden and Panel2 expands to fill the SplitContainer. This property is mutually exclusive with Panel2Collapsed.&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;&lt;div align=&quot;justify&quot;&gt;
&lt;span style=&quot;font-family: Verdana; font-size: x-small;&quot;&gt;&lt;b&gt;Panel1MinSize:&amp;nbsp;&lt;/b&gt;Determines the minimum distance in pixels of the splitter from the left or top edge of Panel1.&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;&lt;div align=&quot;justify&quot;&gt;
&lt;span style=&quot;font-family: Verdana; font-size: x-small;&quot;&gt;&lt;b&gt;Panel2:&amp;nbsp;&lt;/b&gt;Gets the right panel of a vertical SplitContainer or the bottom panel of a horizontal SplitContainer. When you click on this property in the IDE properties pane, you can edit the properties of the underlying Panel.&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;&lt;div align=&quot;justify&quot;&gt;
&lt;span style=&quot;font-family: Verdana; font-size: x-small;&quot;&gt;&lt;b&gt;Panel2Collapsed:&amp;nbsp;&lt;/b&gt;Determines whether Panel2 is collapsed or expanded. When this value is true, Panel2 is hidden and Panel1 expands to fill the SplitContainer. This property is mutually exclusive with Panel1Collapsed.&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;&lt;div align=&quot;justify&quot;&gt;
&lt;span style=&quot;font-family: Verdana; font-size: x-small;&quot;&gt;&lt;b&gt;Panel2MinSize:&amp;nbsp;&lt;/b&gt;Determines the minimum distance in pixels of the splitter from the right or bottom edge of Panel2.&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;&lt;div align=&quot;justify&quot;&gt;
&lt;span style=&quot;font-family: Verdana; font-size: x-small;&quot;&gt;&lt;b&gt;SplitterDistance:&lt;/b&gt;&amp;nbsp;Determines the location of the splitter, in pixels, from the left (Orientation = Vertical) or top (Orientation = Horizontal) edge of the SplitContainer.&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;&lt;div align=&quot;justify&quot;&gt;
&lt;span style=&quot;font-family: Verdana; font-size: x-small;&quot;&gt;&lt;b&gt;SplitterIncrement:&lt;/b&gt;&amp;nbsp;Gets or sets a value representing the increment of splitter movement in pixels.&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;&lt;div align=&quot;justify&quot;&gt;
&lt;span style=&quot;font-family: Verdana; font-size: x-small;&quot;&gt;&lt;b&gt;SplitterRectangle:&lt;/b&gt;&amp;nbsp;Gets the size and location of the splitter relative to the SplitContainer.&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;&lt;div align=&quot;justify&quot;&gt;
&lt;span style=&quot;font-family: Verdana; font-size: x-small;&quot;&gt;&lt;b&gt;SplitterWidth&lt;/b&gt;: Determines the width of the splitter in pixels.&lt;/span&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
Figure 1 shows the example of the &lt;a href=&quot;http://blog.shienandy.com/&quot;&gt;Splitter Container Control in a form&lt;/a&gt;.&lt;br /&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;a href=&quot;http://www.c-sharpcorner.com/UploadFile/mahesh/splitcontainer-in-C-Sharp/Images/SplitContainerImg2.jpg&quot; imageanchor=&quot;1&quot;&gt;&lt;img alt=&quot;SplitContainerImg2.jpg&quot; border=&quot;0&quot; height=&quot;211&quot; src=&quot;http://www.c-sharpcorner.com/UploadFile/mahesh/splitcontainer-in-C-Sharp/Images/SplitContainerImg2.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;b&gt;Related website link:&lt;/b&gt;&lt;br /&gt;
1.&amp;nbsp;&lt;a href=&quot;http://r4r.co.in/c1/01/tutorial/csharp/split%20container.shtml&quot;&gt;http://r4r.co.in/c1/01/tutorial/csharp/split%20container.shtml&lt;/a&gt;&lt;br /&gt;
2.&amp;nbsp;&lt;a href=&quot;http://www.c-sharpcorner.com/uploadfile/mahesh/splitcontainer-in-C-Sharp/&quot;&gt;http://www.c-sharpcorner.com/uploadfile/mahesh/splitcontainer-in-C-Sharp/&lt;/a&gt;&lt;br /&gt;
3.&amp;nbsp;&lt;a href=&quot;http://www.java2s.com/Tutorial/CSharp/0460__GUI-Windows-Forms/Catalog0460__GUI-Windows-Forms.htm&quot;&gt;http://www.java2s.com/Tutorial/CSharp/0460__GUI-Windows-Forms/Catalog0460__GUI-Windows-Forms.htm&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.shienandy.com/feeds/3820791153893685571/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2015554925949845258/3820791153893685571' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2015554925949845258/posts/default/3820791153893685571'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2015554925949845258/posts/default/3820791153893685571'/><link rel='alternate' type='text/html' href='http://blog.shienandy.com/2011/12/split-container-control-in-c.html' title='Split Container Control in C#'/><author><name>Andy</name><uri>http://www.blogger.com/profile/02413211813827578740</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqJ3NhbxqU4vGu3sVqHp8j3jHxWOvOqwkG-QlE8OF912wePhMikqV2r2wfK0vlDbsX3LToJ7vEW17Kgp6WMRgOhBdyFNu2cIZyZwmBM4rG5XMVt9OaSj6ICvO0jj7AZw/s220/WP_20161217_10_10_46_Pro.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2015554925949845258.post-5981187337468665390</id><published>2011-11-30T12:51:00.001+09:00</published><updated>2011-11-30T20:31:27.560+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Research"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual C#/C++/.Net"/><title type='text'>Calling Win32 DLLs in C# with P/Invoke</title><content type='html'>&lt;div&gt;
&lt;b style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;a href=&quot;http://blog.shienandy.com/&quot;&gt;Unmanaged Code&lt;/a&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;BOOL MessageBeep(&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&amp;nbsp; UINT uType &amp;nbsp; // beep type&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;b&gt;&lt;a href=&quot;http://blog.shienandy.com/&quot;&gt;Managed Code&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;[DllImport (&quot;User32.dll&quot;)]&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;static extern Boolean MessageBeep (UInt32 beepType);&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Note:&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;Static&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;1.The MessageBeep method was declared as static.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;2.This is a requirement for P/Invoke methods because there is no consistent notion of an instance in the &amp;nbsp;Window API.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Times, &#39;Times New Roman&#39;, serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;Extern&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;1. It is not a method call, but an extern method definition.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;2.&amp;nbsp;This is your hint to the compiler that you mean for the method to be implemented by a function exported&amp;nbsp;from a DLL, and therefore there is no need for you to supply a method body.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;3. P/Invoke methods are nothing more than metadata that the just-in-time (JIT) compiler uses to wire managed code to an unmanaged DLL function at run time.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;4. An important piece of information required to perform this &lt;span class=&quot;Apple-style-span&quot; style=&quot;color: blue;&quot;&gt;wiring to the unmanaged world is the name of the DLL from which the unmanaged method is exported&lt;/span&gt;.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;6. The DllImport custom attribute that precedes the MessageBeep method declaration.&amp;nbsp;In this case, you can see that &lt;span class=&quot;Apple-style-span&quot; style=&quot;color: blue;&quot;&gt;the MessageBeep unmanaged API is exported by the User32.dll in Windows&lt;/span&gt;.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;7. The call into the unmanaged MessageBeep function can be performed by any managed code that finds the extern MessageBeep declaration within scope&lt;/span&gt;.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;8. The call is made like any other call to a static method. It is this commonality with any other managed method calls that introduces the requirement of data marshaling.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;9. One of the rules of C# is that its call syntax can only access CLR data types such as System.UInt32 and System.Boolean.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;10.C# is expressly unaware of C-based data types used in the Windows API such as UINT and BOOL, which are just typedefs of the C language types.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;11.The extern method must be defined using CLR types, as you saw in the preceding code snippet.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;12. This &lt;span class=&quot;Apple-style-span&quot; style=&quot;color: blue;&quot;&gt;requirement to use CLR types that are different from&lt;/span&gt;, but compatible with, &lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;the underlying API function types is one of the more difficult aspects of using P/Invoke&lt;/span&gt;.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Times, &#39;Times New Roman&#39;, serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Figure 1 MessageBeep, Interop Done Well&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;pre class=&quot;libCScode&quot; id=&quot;ctl00_MTContentSelector1_mainContentContainer_ctl27_ctl00_ctl00_code&quot; space=&quot;preserve&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: #dddddd; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-color: rgb(200, 205, 222); border-top-style: solid; border-top-width: 1px; color: #000066; font-family: &#39;Courier New&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16px; margin-bottom: 10px; outline-color: initial; outline-style: initial; outline-width: 0px; overflow-x: hidden; overflow-y: hidden; padding-bottom: 0px; padding-left: 5px; padding-right: 5px; padding-top: 5px; white-space: pre-wrap; word-wrap: break-word;&quot;&gt;namespace Wintellect.Interop.Sound{
   using System;
   using System.Runtime.InteropServices;
   using System.ComponentModel;

   sealed class Sound{
      public static void MessageBeep(BeepTypes type){
         if(!MessageBeep((UInt32) type)){
            Int32 err = Marshal.GetLastWin32Error();
            throw new Win32Exception(err);
         }
      }

      [DllImport(&quot;User32.dll&quot;, SetLastError=true)]
      static extern Boolean MessageBeep(UInt32 beepType);

      private Sound(){}
   }

   enum BeepTypes{ 
      Simple = -1,
      Ok                = 0x00000000,
      IconHand          = 0x00000010,
      IconQuestion      = 0x00000020,
      IconExclamation   = 0x00000030,
      IconAsterisk      = 0x00000040
   }
}&lt;/pre&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Starting from the top, you will notice that an entire type named Sound is devoted to MessageBeep. If I need to add support for playing waves using the Windows API function PlaySound, I could reuse the Sound type. However, I am not offended by a type that exposes a single public static method. This is application code, after all. Notice also that Sound is sealed and defines an empty private constructor. These are just details to keep a user from mistakenly deriving from or creating an instance of Sound.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;The next feature of the code in Figure 1 is that the actual extern method where P/Invoke occurs is a private method of Sound. &lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;This method is exposed only indirectly by the public MessageBeep method, which takes a parameter of type BeepTypes.&lt;/span&gt; This extra level of indirection is a critical detail that provides the following benefits.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;First, should a future managed method of beeping be introduced in the class library, you can re-tool your public MessageBeep method to use the managed API without having to change the rest of the code in your application.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;A second benefit of the wrapper method is this: when you P/Invoke, you waive your right to the protection from access violations and other low-level catastrophes, normally provided by the CLR. A buffer method, even if it does nothing but pass parameters through, allows you to protect the rest of your application from access violations and the like. The buffer method localizes any potential bugs introduced by the P/Invoke call.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;The third and final benefit of hiding your private extern methods behind a public wrapper is the opportunity to add some minimum CLR style to the method. For example, in Figure 1 I converted a Boolean failure returned by the Windows API function into a more CLR-like exception. I also defined an enumerated type named BeepTypes whose members correspond to the define values used with the Windows API. Since C# doesn&#39;t support defines, managed enumerated types are used to avoid scattering magic numbers throughout your application code.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;This final benefit of a wrapper method is admittedly minor for a simple Windows API function like MessageBeep. But as you begin to call into more complex unmanaged functions, you will find a manual translation from the Windows API style to a more CLR-friendly approach increasingly beneficial. The more you plan to reuse your interop functionality throughout your applications, the more design thought you should put into the wrapper. Meanwhile I see no shame in non-object-oriented static wrapper methods with CLR-friendly parameters.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;div class=&quot;ArticleTypeTitle&quot; id=&quot;S3&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #260859; font-weight: bold; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 3px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;The DLL Import Attribute&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;The DllImportAttribute type plays an important part in the P/Invoke story for managed code. The DllImportAttribute&#39;s primary role &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;is to indicate to the CLR which DLL exports the function that you want to call.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt; The name of the DLL in question is passed as the single constructor parameter to the DllImportAttribute.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #333333; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #260859; font-family: Verdana, sans-serif; font-size: x-small; font-weight: bold;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #333333; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #260859; font-family: Verdana, sans-serif; font-size: x-small; font-weight: bold;&quot;&gt;Optional DllImportAttribute Properties&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;In addition to indicating the host DLL, the DllImportAttribute also includes a handful of optional properties, four of which are particularly interesting:&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: blue;&quot;&gt; EntryPoint&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;, &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: blue;&quot;&gt;CharSet&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;, &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: blue;&quot;&gt;SetLastError&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;, and &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: blue;&quot;&gt;CallingConvention.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;span class=&quot;ArticleInlineTitle&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #26252a; font-family: inherit; font-size: 14px; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;EntryPoint&amp;nbsp;&lt;/span&gt;You can set this property&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt; to indicate the entry point name of the exported DLL function&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: blue;&quot;&gt; in cases where you do not want your extern managed method to have the same name as the DLL export&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;. This is particularly &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;&lt;b&gt;useful when you are defining two extern methods that call into the same unmanaged function. &lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;Additionally, in Windows you can bind to exported DLL functions by their ordinal values. If you need to do this, an EntryPoint value such as &quot;#1&quot; or &quot;#129&quot; indicates the ordinal value of the unmanaged function in the DLL rather than a function name.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;span class=&quot;ArticleInlineTitle&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #26252a; font-family: inherit; font-size: 14px; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;CharSet&amp;nbsp;&lt;/span&gt;When it comes to character sets,&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt; not all versions of Windows are created equal&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;. The Windows &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: blue;&quot;&gt;9&lt;em style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;x&lt;/em&gt;family of products lack significant Unicode support&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;, while &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: blue;&quot;&gt;the Windows NT and Windows CE flavors use Unicode natively&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;. And sitting on top of these operating systems,&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: purple;&quot;&gt; the CLR uses Unicode for its internal representation of String and Char data.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt; But never fear—&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;&lt;b&gt;the CLR automatically makes the necessary translations from Unicode to ANSI when calling into Windows 9&lt;em style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;x&lt;/em&gt;&amp;nbsp;API functions.&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: blue;&quot;&gt;If your DLL function doesn&#39;t deal with text in any way, then you can ignore the CharSet property of the DllImportAttribute&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;. However, when Char or String data is part of the equation, set the CharSet property to &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: blue;&quot;&gt;&lt;b&gt;CharSet.Auto&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;. This causes the CLR to use the appropriate character set based on the host OS. If you don&#39;t explicitly set the CharSet property, then its default is &lt;/span&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: blue;&quot;&gt;CharSet.Ansi&lt;/span&gt;&lt;/b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;. This default is unfortunate because it negatively affects the performance of text parameter marshaling for interop calls made on Windows 2000, Windows XP, and Windows NT®.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #333333; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;The only time you should explicitly select a CharSet value of CharSet.Ansi or CharSet.Unicode, rather than going with CharSet.Auto, is when you are explicitly naming an exported function that is specific to one or the other of the two flavors of Win32 OS. An example of this is the ReadDirectoryChangesW API function, which exists only in Windows NT-based operating systems and supports Unicode only; in this case you should use CharSet.Unicode explicitly.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #333333; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Sometimes it is unclear whether a Windows API has a character set affinity. A surefire way to find out is to check the C-language header file for the function in the Platform SDK. (If you are unsure which header file to look in, the Platform SDK documentation lists the header file for each API function.) If you find that the API function is really defined as a macro that maps to a function name ending in A or W, then character set matters for the function that you are trying to call. An example of a Windows API function that you might be surprised to learn has A and W versions is the GetMessage API declared in WinUser.h.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;span class=&quot;ArticleInlineTitle&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #26252a; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;SetLastError&amp;nbsp;&lt;/span&gt;Error handling is an important but frequently avoided aspect of prog&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 13px;&quot;&gt;ramming. And w&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 13px;&quot;&gt;hen you are P/Invoking, you are faced with the additional challenge of dealing with the differences between Windows API error handling and exceptions in managed cod&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 13px;&quot;&gt;e. I have a few suggestions for you.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;If you are using P/Invoke to call into a Windows API function for which you use &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;&lt;b&gt;GetLastError to find extended error information, then you should set the SetLastError property to true in the DllImportAttribute for your extern method.&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt; This applies to the majority of extern methods.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;This causes the CLR to cache the error set by the API function after each call to the extern method. Then, in your wrapper method, &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: blue;&quot;&gt;you can retrieve the cached error value by calling the Marshal.GetLastWin32Error method defined on the System.Runtime.InteropServices.Marshal type in the class library&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;. My advice is to check for error values that you expect from the API function and throw a sensible exception for these values. For all other failure cases, including those where failure wasn&#39;t expected at all, throw the Win32Exception defined in the System.ComponentModel namespace and pass it the value returned by Marshal.GetLastWin32Error. If you take a look back at the code in&amp;nbsp;&lt;/span&gt;&lt;strong style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #333333; font-family: inherit; font-style: inherit; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;Figure 1&lt;/strong&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;, you will see that I took this approach in my public wrapper around the extern MessageBeep method.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;span class=&quot;ArticleInlineTitle&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #26252a; font-family: inherit; font-size: 14px; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;CallingConvention&amp;nbsp;&lt;/span&gt;The last and probably least important of the DllImportAttribute properties that I will cover here is CallingConvention. This property &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;lets you indicate to the CLR which function calling convention it should use for parameters on the stack.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt; The default value of CallingConvention.Winapi is your best bet and will work in most cases. However, if the call isn&#39;t working, you might check the declaring header file in the Platform SDK to see if the API function you are calling is one of the odd APIs that bucks the calling convention standard.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;In general, t&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: blue;&quot;&gt;he calling convention of a native function, such as a &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;Windows API function&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: blue;&quot;&gt; or a &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;C-runtime DLL&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: blue;&quot;&gt; function, describes how the parameters are pushed onto and cleaned off the thread&#39;s stack.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt; Most Windows API functions push the last parameter of a function onto the stack first, and then it is the called function&#39;s job to clean up the stack. By contrast, many of the C-runtime DLL functions are defined to push the method parameters onto the stack in the order they appear in the method signature, leaving stack cleanup to the caller.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;Fortunately you only need a peripheral understanding of calling conventions to get P/Invoke calls to work&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;. In general, starting with the default, CallingConvention.Winapi, is your best bet. And then, with C-runtime DLL functions and a very few functions you might have to change the convention to CallingConvention.Cdecl.&lt;/span&gt;&lt;/div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;br style=&quot;background-color: white; color: #333333; line-height: 16px; text-align: -webkit-auto;&quot; /&gt;&lt;/span&gt;&lt;div class=&quot;ArticleTypeTitle&quot; id=&quot;S5&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #260859; font-weight: bold; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 3px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Data Marshaling&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #333333; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Data marshaling is a challenging aspect of P/Invoke. When passing data between the managed and unmanaged worlds, the CLR follows a number of rules that few developers will encounter often enough to memorize. Mastery of the details, though, is normally unnecessary unless you are a class library developer. Application developers who need to interop only occasionally should still understand some fundamentals of data marshaling to get the most out of P/Invoke on the CLR.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #333333; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #260859; font-weight: bold;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #333333; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #260859; font-weight: bold;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Marshaling Numerical and Logical Scalars&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #333333; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;The majority of the Windows OS is written in C. As a result, the data types used with the Windows API are either C types or C types that are relabeled through a type definition or macro definition. Let&#39;s look at data marshaling without pointers. To keep things simple, I&#39;ll focus first on numbers and Boolean values.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto;&quot;&gt;
&lt;div style=&quot;color: #333333; text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;When passing a parameter by value to a Windows API function, you need to know the answers to the following questions:&lt;/span&gt;&lt;/div&gt;
&lt;ul style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 12px; margin-left: 18px; margin-right: 0px; margin-top: 12px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;
&lt;li style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 3px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;b&gt;Is the data fundamentally integral or floating-point?&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 3px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;b&gt;If the data is integral, is it signed or unsigned?&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 3px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;b&gt;If the data is integral, how wide is it in bits?&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 3px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;b&gt;If the data is floating-point, is it single or double precision?&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;Sometimes the answers are obvious, and other times they aren&#39;t. &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: blue;&quot;&gt;The Windows API redefines the fundamental C data types in a variety of ways.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;strong style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #333333; font-style: inherit; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;Figure 2&lt;/strong&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&amp;nbsp;lists some common C and Win32 data types, along with their specifications and a common language runtime type with a matching specification.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;span style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #333333; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto;&quot;&gt;&lt;div class=&quot;MTPS_CollapsibleRegion&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;
&lt;div class=&quot;CollapseRegionLink&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: black; cursor: pointer; font-style: inherit; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;img class=&quot;LibC_o&quot; src=&quot;http://i.msdn.microsoft.com/Global/Images/clear.gif&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(http://i3.msdn.microsoft.com/global/Images/LibC.gif); background-origin: initial; background-position: 0px 0px; border-bottom-style: none; border-color: initial; border-color: initial; border-left-style: none; border-right-style: none; border-style: initial; border-top-style: none; border-width: initial; font-style: inherit; font-weight: inherit; height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: middle; width: 16px;&quot; /&gt;&amp;nbsp;&amp;nbsp;Figure&amp;nbsp;2&amp;nbsp;Non-Pointer Data Types&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MTPS_CollapsibleSection&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; clear: both; font-family: inherit; font-size: 13px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 10px; padding-right: 0px; padding-top: 0px;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;table class=&quot;charttable&quot; style=&quot;-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; border-bottom-color: rgb(192, 192, 192); border-bottom-style: solid; border-bottom-width: 1px; border-collapse: collapse; border-color: initial; border-left-color: rgb(192, 192, 192); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(192, 192, 192); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(192, 192, 192); border-top-style: solid; border-top-width: 1px; font-family: inherit; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; width: 612px;&quot;&gt;&lt;tbody style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;
&lt;tr style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; valign=&quot;top&quot;&gt;&lt;th style=&quot;border-bottom-color: rgb(192, 192, 192); border-bottom-style: solid; border-bottom-width: 1px; border-collapse: collapse; border-color: initial; border-left-color: rgb(192, 192, 192); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(192, 192, 192); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(192, 192, 192); border-top-style: solid; border-top-width: 1px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; padding-top: 3px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Win32 Types&lt;/span&gt;&lt;/th&gt;&lt;th style=&quot;border-bottom-color: rgb(192, 192, 192); border-bottom-style: solid; border-bottom-width: 1px; border-collapse: collapse; border-color: initial; border-left-color: rgb(192, 192, 192); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(192, 192, 192); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(192, 192, 192); border-top-style: solid; border-top-width: 1px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; padding-top: 3px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Specification&lt;/span&gt;&lt;/th&gt;&lt;th style=&quot;border-bottom-color: rgb(192, 192, 192); border-bottom-style: solid; border-bottom-width: 1px; border-collapse: collapse; border-color: initial; border-left-color: rgb(192, 192, 192); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(192, 192, 192); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(192, 192, 192); border-top-style: solid; border-top-width: 1px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; padding-top: 3px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;CLR Type&lt;/span&gt;&lt;/th&gt;&lt;/tr&gt;
&lt;tr style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; valign=&quot;top&quot;&gt;&lt;td style=&quot;border-bottom-color: rgb(192, 192, 192); border-bottom-style: solid; border-bottom-width: 1px; border-collapse: collapse; border-color: initial; border-left-color: rgb(192, 192, 192); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(192, 192, 192); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(192, 192, 192); border-top-style: solid; border-top-width: 1px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; padding-top: 3px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;char, INT8, SBYTE, CHARâ€&amp;nbsp;&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom-color: rgb(192, 192, 192); border-bottom-style: solid; border-bottom-width: 1px; border-collapse: collapse; border-color: initial; border-left-color: rgb(192, 192, 192); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(192, 192, 192); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(192, 192, 192); border-top-style: solid; border-top-width: 1px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; padding-top: 3px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;8-bit signed integer&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom-color: rgb(192, 192, 192); border-bottom-style: solid; border-bottom-width: 1px; border-collapse: collapse; border-color: initial; border-left-color: rgb(192, 192, 192); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(192, 192, 192); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(192, 192, 192); border-top-style: solid; border-top-width: 1px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; padding-top: 3px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;System.SByte&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; valign=&quot;top&quot;&gt;&lt;td style=&quot;border-bottom-color: rgb(192, 192, 192); border-bottom-style: solid; border-bottom-width: 1px; border-collapse: collapse; border-color: initial; border-left-color: rgb(192, 192, 192); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(192, 192, 192); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(192, 192, 192); border-top-style: solid; border-top-width: 1px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; padding-top: 3px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;short, short int, INT16, SHORT&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom-color: rgb(192, 192, 192); border-bottom-style: solid; border-bottom-width: 1px; border-collapse: collapse; border-color: initial; border-left-color: rgb(192, 192, 192); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(192, 192, 192); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(192, 192, 192); border-top-style: solid; border-top-width: 1px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; padding-top: 3px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;16-bit signed integer&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom-color: rgb(192, 192, 192); border-bottom-style: solid; border-bottom-width: 1px; border-collapse: collapse; border-color: initial; border-left-color: rgb(192, 192, 192); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(192, 192, 192); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(192, 192, 192); border-top-style: solid; border-top-width: 1px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; padding-top: 3px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;System.Int16&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; valign=&quot;top&quot;&gt;&lt;td style=&quot;border-bottom-color: rgb(192, 192, 192); border-bottom-style: solid; border-bottom-width: 1px; border-collapse: collapse; border-color: initial; border-left-color: rgb(192, 192, 192); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(192, 192, 192); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(192, 192, 192); border-top-style: solid; border-top-width: 1px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; padding-top: 3px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;int, long, long int, INT32, LONG32, BOOLâ€&amp;nbsp;, INT&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom-color: rgb(192, 192, 192); border-bottom-style: solid; border-bottom-width: 1px; border-collapse: collapse; border-color: initial; border-left-color: rgb(192, 192, 192); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(192, 192, 192); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(192, 192, 192); border-top-style: solid; border-top-width: 1px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; padding-top: 3px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;32-bit signed integer&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom-color: rgb(192, 192, 192); border-bottom-style: solid; border-bottom-width: 1px; border-collapse: collapse; border-color: initial; border-left-color: rgb(192, 192, 192); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(192, 192, 192); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(192, 192, 192); border-top-style: solid; border-top-width: 1px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; padding-top: 3px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;System.Int32&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; valign=&quot;top&quot;&gt;&lt;td style=&quot;border-bottom-color: rgb(192, 192, 192); border-bottom-style: solid; border-bottom-width: 1px; border-collapse: collapse; border-color: initial; border-left-color: rgb(192, 192, 192); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(192, 192, 192); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(192, 192, 192); border-top-style: solid; border-top-width: 1px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; padding-top: 3px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;__int64, INT64, LONGLONG&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom-color: rgb(192, 192, 192); border-bottom-style: solid; border-bottom-width: 1px; border-collapse: collapse; border-color: initial; border-left-color: rgb(192, 192, 192); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(192, 192, 192); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(192, 192, 192); border-top-style: solid; border-top-width: 1px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; padding-top: 3px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;64-bit signed integer&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom-color: rgb(192, 192, 192); border-bottom-style: solid; border-bottom-width: 1px; border-collapse: collapse; border-color: initial; border-left-color: rgb(192, 192, 192); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(192, 192, 192); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(192, 192, 192); border-top-style: solid; border-top-width: 1px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; padding-top: 3px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;System.Int64&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; valign=&quot;top&quot;&gt;&lt;td style=&quot;border-bottom-color: rgb(192, 192, 192); border-bottom-style: solid; border-bottom-width: 1px; border-collapse: collapse; border-color: initial; border-left-color: rgb(192, 192, 192); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(192, 192, 192); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(192, 192, 192); border-top-style: solid; border-top-width: 1px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; padding-top: 3px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;unsigned char, UINT8, UCHARâ€&amp;nbsp;, BYTE&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom-color: rgb(192, 192, 192); border-bottom-style: solid; border-bottom-width: 1px; border-collapse: collapse; border-color: initial; border-left-color: rgb(192, 192, 192); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(192, 192, 192); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(192, 192, 192); border-top-style: solid; border-top-width: 1px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; padding-top: 3px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;8-bit unsigned integer&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom-color: rgb(192, 192, 192); border-bottom-style: solid; border-bottom-width: 1px; border-collapse: collapse; border-color: initial; border-left-color: rgb(192, 192, 192); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(192, 192, 192); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(192, 192, 192); border-top-style: solid; border-top-width: 1px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; padding-top: 3px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;System.Byte&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; valign=&quot;top&quot;&gt;&lt;td style=&quot;border-bottom-color: rgb(192, 192, 192); border-bottom-style: solid; border-bottom-width: 1px; border-collapse: collapse; border-color: initial; border-left-color: rgb(192, 192, 192); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(192, 192, 192); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(192, 192, 192); border-top-style: solid; border-top-width: 1px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; padding-top: 3px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;unsigned short, UINT16, USHORT, WORD, ATOM, WCHARâ€&amp;nbsp;, __wchar_t&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom-color: rgb(192, 192, 192); border-bottom-style: solid; border-bottom-width: 1px; border-collapse: collapse; border-color: initial; border-left-color: rgb(192, 192, 192); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(192, 192, 192); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(192, 192, 192); border-top-style: solid; border-top-width: 1px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; padding-top: 3px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;16-bit unsigned integer&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom-color: rgb(192, 192, 192); border-bottom-style: solid; border-bottom-width: 1px; border-collapse: collapse; border-color: initial; border-left-color: rgb(192, 192, 192); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(192, 192, 192); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(192, 192, 192); border-top-style: solid; border-top-width: 1px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; padding-top: 3px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;System.UInt16&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; valign=&quot;top&quot;&gt;&lt;td style=&quot;border-bottom-color: rgb(192, 192, 192); border-bottom-style: solid; border-bottom-width: 1px; border-collapse: collapse; border-color: initial; border-left-color: rgb(192, 192, 192); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(192, 192, 192); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(192, 192, 192); border-top-style: solid; border-top-width: 1px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; padding-top: 3px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;unsigned, unsigned int, UINT32, ULONG32, DWORD32, ULONG, DWORD, UINT&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom-color: rgb(192, 192, 192); border-bottom-style: solid; border-bottom-width: 1px; border-collapse: collapse; border-color: initial; border-left-color: rgb(192, 192, 192); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(192, 192, 192); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(192, 192, 192); border-top-style: solid; border-top-width: 1px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; padding-top: 3px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;32-bit unsigned integer&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom-color: rgb(192, 192, 192); border-bottom-style: solid; border-bottom-width: 1px; border-collapse: collapse; border-color: initial; border-left-color: rgb(192, 192, 192); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(192, 192, 192); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(192, 192, 192); border-top-style: solid; border-top-width: 1px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; padding-top: 3px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;System.UInt32&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; valign=&quot;top&quot;&gt;&lt;td style=&quot;border-bottom-color: rgb(192, 192, 192); border-bottom-style: solid; border-bottom-width: 1px; border-collapse: collapse; border-color: initial; border-left-color: rgb(192, 192, 192); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(192, 192, 192); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(192, 192, 192); border-top-style: solid; border-top-width: 1px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; padding-top: 3px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;unsigned __int64, UINT64, DWORDLONG, ULONGLONG&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom-color: rgb(192, 192, 192); border-bottom-style: solid; border-bottom-width: 1px; border-collapse: collapse; border-color: initial; border-left-color: rgb(192, 192, 192); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(192, 192, 192); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(192, 192, 192); border-top-style: solid; border-top-width: 1px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; padding-top: 3px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;64-bit unsigned integer&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom-color: rgb(192, 192, 192); border-bottom-style: solid; border-bottom-width: 1px; border-collapse: collapse; border-color: initial; border-left-color: rgb(192, 192, 192); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(192, 192, 192); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(192, 192, 192); border-top-style: solid; border-top-width: 1px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; padding-top: 3px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;System.UInt64&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; valign=&quot;top&quot;&gt;&lt;td style=&quot;border-bottom-color: rgb(192, 192, 192); border-bottom-style: solid; border-bottom-width: 1px; border-collapse: collapse; border-color: initial; border-left-color: rgb(192, 192, 192); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(192, 192, 192); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(192, 192, 192); border-top-style: solid; border-top-width: 1px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; padding-top: 3px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;float, FLOAT&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom-color: rgb(192, 192, 192); border-bottom-style: solid; border-bottom-width: 1px; border-collapse: collapse; border-color: initial; border-left-color: rgb(192, 192, 192); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(192, 192, 192); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(192, 192, 192); border-top-style: solid; border-top-width: 1px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; padding-top: 3px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Single-precision floating point&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom-color: rgb(192, 192, 192); border-bottom-style: solid; border-bottom-width: 1px; border-collapse: collapse; border-color: initial; border-left-color: rgb(192, 192, 192); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(192, 192, 192); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(192, 192, 192); border-top-style: solid; border-top-width: 1px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; padding-top: 3px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;System.Single&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; valign=&quot;top&quot;&gt;&lt;td style=&quot;border-bottom-color: rgb(192, 192, 192); border-bottom-style: solid; border-bottom-width: 1px; border-collapse: collapse; border-color: initial; border-left-color: rgb(192, 192, 192); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(192, 192, 192); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(192, 192, 192); border-top-style: solid; border-top-width: 1px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; padding-top: 3px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;double, long double, DOUBLE&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom-color: rgb(192, 192, 192); border-bottom-style: solid; border-bottom-width: 1px; border-collapse: collapse; border-color: initial; border-left-color: rgb(192, 192, 192); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(192, 192, 192); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(192, 192, 192); border-top-style: solid; border-top-width: 1px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; padding-top: 3px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Double-precision floating point&lt;/span&gt;&lt;/td&gt;&lt;td style=&quot;border-bottom-color: rgb(192, 192, 192); border-bottom-style: solid; border-bottom-width: 1px; border-collapse: collapse; border-color: initial; border-left-color: rgb(192, 192, 192); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(192, 192, 192); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(192, 192, 192); border-top-style: solid; border-top-width: 1px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; padding-top: 3px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;System.Double&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; valign=&quot;top&quot;&gt;&lt;td colspan=&quot;3&quot; style=&quot;border-bottom-color: rgb(192, 192, 192); border-bottom-style: solid; border-bottom-width: 1px; border-collapse: collapse; border-color: initial; border-left-color: rgb(192, 192, 192); border-left-style: solid; border-left-width: 1px; border-right-color: rgb(192, 192, 192); border-right-style: solid; border-right-width: 1px; border-style: initial; border-top-color: rgb(192, 192, 192); border-top-style: solid; border-top-width: 1px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; padding-top: 3px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;â€&amp;nbsp;In Win32 this type is an integer with a specially assigned meaning; in contrast, the CLR provides a specific type devoted to this meaning.&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/span&gt;&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #333333; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;In general, &lt;/span&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;as long as you select a CLR type whose specification matches that of the Win32 type for the parameter, your code will work&lt;/span&gt;&lt;/b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;. There are some special cases, however. For example, &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: purple;&quot;&gt;the BOOL type definition in the Windows API is a signed 32-bit integer&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;. However, BOOL is used to indicate a Boolean value of true or false. While &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: purple;&quot;&gt;you could get away with marshaling a BOOL parameter as a System.Int32 value&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;, &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: blue;&quot;&gt;you will get a more appropriate mapping if you use the &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;&lt;b&gt;System.Boolean&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: blue;&quot;&gt; type.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt; Character type-mapping is similar to BOOL in the sense that there is a specific CLR type, &lt;/span&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;System.Char&lt;/span&gt;&lt;/b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;, to address character meaning.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #333333; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;With this information, it might be helpful to step through an example. Sticking with the beep theme, let&#39;s try the Kernel32.dll low-level Beep, which makes a beep through the computer&#39;s speaker. The Platform SDK documentation for the method can be found at&amp;nbsp;&lt;a href=&quot;http://library/en-us/debug/base/beep.asp&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0066dd; cursor: pointer; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;&quot;&gt;Beep&lt;/a&gt;. The native API is documented as follows:&lt;/span&gt;&lt;/div&gt;
&lt;span id=&quot;ctl00_MTContentSelector1_mainContentContainer_ctl11&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; xmlns:msxsl=&quot;urn:schemas-microsoft-com:xslt&quot;&gt;&lt;div class=&quot;libCScode&quot; id=&quot;ctl00_MTContentSelector1_mainContentContainer_ctl11_&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-color: rgb(255, 255, 255); border-top-style: solid; border-top-width: 5px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 20px; padding-left: 0px; padding-right: 0px; padding-top: 0px; width: 616px;&quot;&gt;
&lt;div class=&quot;CodeSnippetTitleBar&quot; style=&quot;background-color: #dddddd; border-bottom-color: rgb(170, 170, 170); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; height: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; padding-top: 3px; text-align: justify; white-space: nowrap; word-spacing: normal;&quot;&gt;
&lt;div class=&quot;CodeDisplayLanguage&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; float: left; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left;&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;background-color: #dddddd; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;
&lt;pre class=&quot;libCScode&quot; id=&quot;ctl00_MTContentSelector1_mainContentContainer_ctl11_code&quot; space=&quot;preserve&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-color: rgb(200, 205, 222); border-top-style: solid; border-top-width: 1px; color: #000066; font-size: 12px; font-style: inherit; margin-bottom: 10px; outline-color: initial; outline-style: initial; outline-width: 0px; overflow-x: hidden; overflow-y: hidden; padding-bottom: 0px; padding-left: 5px; padding-right: 5px; padding-top: 5px; white-space: pre-wrap; word-wrap: break-word;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Verdana, Arial, Helvetica, sans-serif;&quot;&gt;BOOL Beep(
  DWORD dwFreq,      // Frequency
  DWORD dwDuration   // Duration in milliseconds
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif;&quot;&gt;);
&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;In terms of parameter marshaling, &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: blue;&quot;&gt;&lt;b&gt;your job is to figure out what CLR data types are compatible with the DWORD and BOOL data types used with the Beep API function&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;. &lt;u&gt;Reviewing the chart in&amp;nbsp;&lt;/u&gt;&lt;/span&gt;&lt;strong style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #333333; font-style: inherit; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;u&gt;Figure 2&lt;/u&gt;&lt;/strong&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;, you&#39;ll see that &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;DWORD is a 32-bit unsigned integer value&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;, as is &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;the CLR type System.UInt32&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;. This means that you &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;can use UInt32 values for the two parameters to Beep&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;. The&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: purple;&quot;&gt; &lt;b&gt;BOOL return value&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&lt;b&gt; &lt;/b&gt;is an interesting case because &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: purple;&quot;&gt;&lt;b&gt;the chart tells us that in Win32, BOOL is a 32-bit signed integer&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;. Therefore, you &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: blue;&quot;&gt;could use a System.Int32 value for the return value from Beep.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt; However, the CLR also defines the &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;System.Boolean type for the semantic meaning of a Boolean value, so you should use that instead.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt; The &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;&lt;b&gt;CLR will marshal the System.Boolean value as a 32-bit signed integer by default.&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt; The extern method definition shown here is the resulting P/Invoke method for Beep:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #333333; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;span id=&quot;ctl00_MTContentSelector1_mainContentContainer_ctl12&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; xmlns:msxsl=&quot;urn:schemas-microsoft-com:xslt&quot;&gt;&lt;div class=&quot;libCScode&quot; id=&quot;ctl00_MTContentSelector1_mainContentContainer_ctl12_&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-color: rgb(255, 255, 255); border-top-style: solid; border-top-width: 5px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 20px; padding-left: 0px; padding-right: 0px; padding-top: 0px; width: 616px;&quot;&gt;
&lt;div class=&quot;CodeSnippetTitleBar&quot; style=&quot;background-color: #dddddd; border-bottom-color: rgb(170, 170, 170); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-size: 13px; font-style: inherit; height: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; padding-top: 3px; white-space: nowrap; word-spacing: normal;&quot;&gt;
&lt;div class=&quot;CodeDisplayLanguage&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; float: left; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left;&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;background-color: #dddddd; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;
&lt;pre class=&quot;libCScode&quot; id=&quot;ctl00_MTContentSelector1_mainContentContainer_ctl12_code&quot; space=&quot;preserve&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-color: rgb(200, 205, 222); border-top-style: solid; border-top-width: 1px; color: #000066; font-style: inherit; margin-bottom: 10px; outline-color: initial; outline-style: initial; outline-width: 0px; overflow-x: hidden; overflow-y: hidden; padding-bottom: 0px; padding-left: 5px; padding-right: 5px; padding-top: 5px; white-space: pre-wrap; word-wrap: break-word;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 12px;&quot;&gt;[DllImport(&quot;Kernel32.dll&quot;, SetLastError=true)]
static extern Boolean Beep(
   UInt32 frequency, UInt32 duration);&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleTypeTitle&quot; id=&quot;S7&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #260859; font-weight: bold; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 3px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Parameters that are Pointers&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;Many Windows API functions take a pointer as one or more of their parameters. &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: blue;&quot;&gt;Pointers increase the complexity of marshaling data because they add a level of indirection&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;. &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;&lt;b&gt;Without pointers&lt;/b&gt;, you pass data by value on the thread&#39;s stack.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: purple;&quot;&gt;&lt;b&gt;With pointers&lt;/b&gt;, you pass data by reference, by pushing a memory address to the data onto the thread&#39;s stack.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt; The function then accesses the data indirectly through the memory address. There are multiple ways to express this additional level of indirection using managed code.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;In C#, if you define a method parameter as ref or out, then the data is passed by reference rather than by value. This is true, even if you are not using Interop, but are just calling from one managed method to another. For example, if you pass a System.Int32 parameter by ref, then you pass the address to the data on the thread&#39;s stack rather than the integer value itself. Here is &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;an example of a method defined to receive an integer value by reference:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span id=&quot;ctl00_MTContentSelector1_mainContentContainer_ctl13&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #333333; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; xmlns:msxsl=&quot;urn:schemas-microsoft-com:xslt&quot;&gt;&lt;div class=&quot;libCScode&quot; id=&quot;ctl00_MTContentSelector1_mainContentContainer_ctl13_&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-color: rgb(255, 255, 255); border-top-style: solid; border-top-width: 5px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 20px; padding-left: 0px; padding-right: 0px; padding-top: 0px; width: 616px;&quot;&gt;
&lt;div class=&quot;CodeSnippetTitleBar&quot; style=&quot;background-color: #dddddd; border-bottom-color: rgb(170, 170, 170); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-size: 13px; font-style: inherit; height: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; padding-top: 3px; white-space: nowrap; word-spacing: normal;&quot;&gt;
&lt;div class=&quot;CodeDisplayLanguage&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; float: left; font-family: inherit; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left;&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;background-color: #dddddd; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;
&lt;pre class=&quot;libCScode&quot; id=&quot;ctl00_MTContentSelector1_mainContentContainer_ctl13_code&quot; space=&quot;preserve&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-color: rgb(200, 205, 222); border-top-style: solid; border-top-width: 1px; color: #000066; font-style: inherit; margin-bottom: 10px; outline-color: initial; outline-style: initial; outline-width: 0px; overflow-x: hidden; overflow-y: hidden; padding-bottom: 0px; padding-left: 5px; padding-right: 5px; padding-top: 5px; white-space: pre-wrap; word-wrap: break-word;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px;&quot;&gt;void FlipInt32(ref Int32 num){
   num = -num;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;}
&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;Here, the FlipInt32 method takes the address of an Int32 value, accesses the data, negates it, and assigns the negated value to the original variable. In the following code, the caller&#39;s variable&amp;nbsp;&lt;/span&gt;&lt;em style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #333333; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;x&lt;/em&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;&amp;nbsp;would have its value changed from 10 to -10 by the FlipInt32 method:&lt;/span&gt;&lt;/span&gt;&lt;span id=&quot;ctl00_MTContentSelector1_mainContentContainer_ctl14&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #333333; font-family: inherit; font-size: 13px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; xmlns:msxsl=&quot;urn:schemas-microsoft-com:xslt&quot;&gt;&lt;div class=&quot;libCScode&quot; id=&quot;ctl00_MTContentSelector1_mainContentContainer_ctl14_&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-color: rgb(255, 255, 255); border-top-style: solid; border-top-width: 5px; font-family: inherit; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 20px; padding-left: 0px; padding-right: 0px; padding-top: 0px; width: 616px;&quot;&gt;
&lt;div class=&quot;CodeSnippetTitleBar&quot; style=&quot;background-color: #dddddd; border-bottom-color: rgb(170, 170, 170); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-style: inherit; height: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; padding-top: 3px; white-space: nowrap; word-spacing: normal;&quot;&gt;
&lt;div class=&quot;CodeDisplayLanguage&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; float: left; font-family: inherit; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left;&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;background-color: #dddddd; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;
&lt;pre class=&quot;libCScode&quot; id=&quot;ctl00_MTContentSelector1_mainContentContainer_ctl14_code&quot; space=&quot;preserve&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-color: rgb(200, 205, 222); border-top-style: solid; border-top-width: 1px; color: #000066; font-family: &#39;Courier New&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; font-style: inherit; margin-bottom: 10px; outline-color: initial; outline-style: initial; outline-width: 0px; overflow-x: hidden; overflow-y: hidden; padding-bottom: 0px; padding-left: 5px; padding-right: 5px; padding-top: 5px; white-space: pre-wrap; word-wrap: break-word;&quot;&gt;Int32 x = 10;
FlipInt32(ref x);
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;This ability, in managed code, can be reused to pass pointers to unmanaged code.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt; For example, the FileEncryptionStatus API function returns file encryption status as a 32-bit unsigned bitmask. The API is documented as shown here:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span id=&quot;ctl00_MTContentSelector1_mainContentContainer_ctl15&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #333333; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; xmlns:msxsl=&quot;urn:schemas-microsoft-com:xslt&quot;&gt;&lt;div class=&quot;libCScode&quot; id=&quot;ctl00_MTContentSelector1_mainContentContainer_ctl15_&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-color: rgb(255, 255, 255); border-top-style: solid; border-top-width: 5px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 20px; padding-left: 0px; padding-right: 0px; padding-top: 0px; width: 616px;&quot;&gt;
&lt;div class=&quot;CodeSnippetTitleBar&quot; style=&quot;background-color: #dddddd; border-bottom-color: rgb(170, 170, 170); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-style: inherit; height: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; padding-top: 3px; text-align: justify; white-space: nowrap; word-spacing: normal;&quot;&gt;
&lt;div class=&quot;CodeDisplayLanguage&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; float: left; font-family: inherit; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left;&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;background-color: #dddddd; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-size: 13px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;
&lt;pre class=&quot;libCScode&quot; id=&quot;ctl00_MTContentSelector1_mainContentContainer_ctl15_code&quot; space=&quot;preserve&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-color: rgb(200, 205, 222); border-top-style: solid; border-top-width: 1px; color: #000066; font-family: &#39;Courier New&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; font-style: inherit; margin-bottom: 10px; outline-color: initial; outline-style: initial; outline-width: 0px; overflow-x: hidden; overflow-y: hidden; padding-bottom: 0px; padding-left: 5px; padding-right: 5px; padding-top: 5px; white-space: pre-wrap; word-wrap: break-word;&quot;&gt;BOOL FileEncryptionStatus(
  LPCTSTR lpFileName,  // file name
  LPDWORD lpStatus     // encryption status
);
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;Notice that the function doesn&#39;t return the status using its return value&lt;/span&gt;&lt;/b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;, but &lt;/span&gt;&lt;u&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: blue;&quot;&gt;instead returns a Boolean value indicating whether the call succeeded&lt;/span&gt;&lt;/u&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;. In the success case, the actual status value is returned through the second parameter. The way this works is that the caller passes the function a pointer to a DWORD variable, and the API function populates the pointed-to memory with the status value. The following snippet shows a possible extern method definition to call into the unmanaged FileEncryptionStatus function:&lt;/span&gt;&lt;/div&gt;
&lt;/span&gt;&lt;span id=&quot;ctl00_MTContentSelector1_mainContentContainer_ctl16&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #333333; font-family: inherit; font-size: 13px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; xmlns:msxsl=&quot;urn:schemas-microsoft-com:xslt&quot;&gt;&lt;div class=&quot;libCScode&quot; id=&quot;ctl00_MTContentSelector1_mainContentContainer_ctl16_&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-color: rgb(255, 255, 255); border-top-style: solid; border-top-width: 5px; font-family: inherit; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 20px; padding-left: 0px; padding-right: 0px; padding-top: 0px; width: 616px;&quot;&gt;
&lt;div class=&quot;CodeSnippetTitleBar&quot; style=&quot;background-color: #dddddd; border-bottom-color: rgb(170, 170, 170); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-style: inherit; height: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; padding-top: 3px; white-space: nowrap; word-spacing: normal;&quot;&gt;
&lt;div class=&quot;CodeDisplayLanguage&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; float: left; font-family: inherit; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left;&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;background-color: #dddddd; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;
&lt;pre class=&quot;libCScode&quot; id=&quot;ctl00_MTContentSelector1_mainContentContainer_ctl16_code&quot; space=&quot;preserve&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-color: rgb(200, 205, 222); border-top-style: solid; border-top-width: 1px; color: #000066; font-family: &#39;Courier New&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; font-style: inherit; margin-bottom: 10px; outline-color: initial; outline-style: initial; outline-width: 0px; overflow-x: hidden; overflow-y: hidden; padding-bottom: 0px; padding-left: 5px; padding-right: 5px; padding-top: 5px; white-space: pre-wrap; word-wrap: break-word;&quot;&gt;[DllImport(&quot;Advapi32.dll&quot;, CharSet=CharSet.Auto)]
static extern Boolean FileEncryptionStatus(String filename, 
   out UInt32 status);
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;The definition uses the &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: blue;&quot;&gt;out keyword to indicate a by-ref parameter for the UInt32 status value&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;. I could have selected the ref keyword here as well, and in fact both result in the same machine code at run time. &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: blue;&quot;&gt;The out keyword is simply a specialization of a by-ref parameter that indicates to the C# compiler that the data being passed is only being passed out of the called function.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt; In contrast, with the ref keyword the compiler assumes that data may flow both in and out of the called function.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #333333; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Another cool aspect of out and ref parameters in managed code is that the variable whose address you pass as the by-ref parameter may be a local variable on the thread&#39;s stack, an element of a class or structure, or it can be a reference to an element in an array of the appropriate data type. This caller flexibility makes by-ref parameters a good starting point for marshaling pointers to buffers, as well as to single data values. I would only consider marshaling a pointer as a more complex CLR type such as a class or an array object after I found that a ref or an out parameter did not meet my needs.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #333333; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;If you are unfamiliar with C syntax or making calls into the Windows API functions, then sometimes it can be difficult to know if a method parameter requires a pointer. A common indicator is if the parameter type starts with the letter P or the letters LP such as LPDWORD or PINT. In both of these examples the LP and P indicate that the parameter is a pointer, and the data type that they point to would be DWORD or INT, respectively. In some cases, however, the API function is defined as a pointer directly using the asterisk symbol (*) in C-language syntax. The following code snippet shows an example of this:&lt;/span&gt;&lt;/div&gt;
&lt;span id=&quot;ctl00_MTContentSelector1_mainContentContainer_ctl17&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; xmlns:msxsl=&quot;urn:schemas-microsoft-com:xslt&quot;&gt;&lt;div class=&quot;libCScode&quot; id=&quot;ctl00_MTContentSelector1_mainContentContainer_ctl17_&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-color: rgb(255, 255, 255); border-top-style: solid; border-top-width: 5px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 20px; padding-left: 0px; padding-right: 0px; padding-top: 0px; width: 616px;&quot;&gt;
&lt;div class=&quot;CodeSnippetTitleBar&quot; style=&quot;background-color: #dddddd; border-bottom-color: rgb(170, 170, 170); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-size: 13px; font-style: inherit; height: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; padding-top: 3px; white-space: nowrap; word-spacing: normal;&quot;&gt;
&lt;div class=&quot;CodeDisplayLanguage&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; float: left; font-family: inherit; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left;&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;background-color: #dddddd; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;
&lt;pre class=&quot;libCScode&quot; id=&quot;ctl00_MTContentSelector1_mainContentContainer_ctl17_code&quot; space=&quot;preserve&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-color: rgb(200, 205, 222); border-top-style: solid; border-top-width: 1px; color: #000066; font-style: inherit; margin-bottom: 10px; outline-color: initial; outline-style: initial; outline-width: 0px; overflow-x: hidden; overflow-y: hidden; padding-bottom: 0px; padding-left: 5px; padding-right: 5px; padding-top: 5px; white-space: pre-wrap; word-wrap: break-word;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: &#39;Courier New&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px;&quot;&gt;void TakesAPointer(DWORD* pNum);&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;
As you can see, the preceding function&#39;s single parameter is a pointer to a DWORD variable.&lt;/div&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;When marshaling pointers through P/Invoke, ref and out are only used with value types in managed code&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;. You can tell a parameter is a value type when its CLR type is defined using the struct keyword. &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: blue;&quot;&gt;Out and ref are used to marshal pointers to these data types because normally a value type variable is the object or data, and you don&#39;t have a reference to a value type in managed code.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt; In contrast, the ref and out keywords are not necessary when marshaling reference type objects because the variable already is a reference to the object.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #333333; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;If you are unfamiliar with the difference between reference types and value types you can find more information on the topic in the .NET column in the&amp;nbsp;&lt;a href=&quot;http://msdn.microsoft.com/msdnmag/issues/1200/dotnet/&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0066dd; cursor: pointer; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;&quot;&gt;December 2000&lt;/a&gt;&amp;nbsp;issue of&amp;nbsp;&lt;em style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;MSDN&lt;/em&gt;®&amp;nbsp;&lt;em style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;Magazine&lt;/em&gt;. Most CLR types are reference types; however, all of the primitive types such as System.Int32 and System.Boolean are value types with the exceptions of System.String and System.Object.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333; line-height: 16px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleTypeTitle&quot; id=&quot;S8&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #260859; font-weight: bold; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 3px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Marshaling Opaque Pointers: a Special Case&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #333333; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Sometimes in the Windows API a method takes or returns a pointer that is opaque, which means that the pointer value is technically a pointer but your code doesn&#39;t use it directly. Instead, your code passes the pointer back to Windows for subsequent reuse.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #333333; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;A very common example of this is the notion of a handle. In Windows, internal data structures ranging from files to buttons on the screen are represented to application code as handles. A handle is really an opaque pointer or pointer-width data value that your application uses to represent the internal OS construct.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #333333; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Occasionally, API functions also define opaque pointers to be of the PVOID or LPVOID types. These types in the Windows API definitions mean that the pointer has no type.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #333333; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;When an opaque pointer is returned to (or expected from) your application, you should marshal the parameter or return value as a special type in the CLR called System.IntPtr. When you use the IntPtr type it is not common to use an out or ref parameter because an IntPtr is intended to hold a pointer directly. However, if you are marshaling a pointer to a pointer, then a by-ref parameter to an IntPtr is appropriate.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #333333; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;The System.IntPtr type has a special property in the CLR type system. Unlike the rest of the basic types in the system, IntPtr does not have a fixed size. Instead, its size at run time is based on the natural pointer size of the underlying operating system. This means that in 32-bit Windows IntPtr variables will be 32 bits in width, and in 64-bit Windows the just-in-time compiler emits code that treats IntPtr values as 64-bit values. This automatic resizing is very useful when marshaling opaque pointers between managed and unmanaged code.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #333333; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Remember, any API function that returns or accepts a handle is really working with an opaque pointer. Your code should marshal handles in Windows as System.IntPtr values.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #333333; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;You can cast IntPtr values to and from 32-bit and 64-bit integer values in managed code. However, since the pointers are supposed to be opaque when used with Windows API functions, you should have no need to do anything with the values but store them and pass them to extern methods. Two exceptions to the store-and-pass-only rule are when you need to pass a null pointer value to an extern method and when you need to compare an IntPtr value with null. To do this, rather than cast zero to System.IntPtr, you should use the Int32.Zero static public field on the IntPtr type to get the null value for comparing or assigning.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333; line-height: 16px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleTypeTitle&quot; id=&quot;S9&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #260859; font-weight: bold; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 3px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Marshaling Text&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;Working with textual data is common in programming. Text adds some wrinkles to the interop story for two reasons. First, &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;the underlying operating system may use Unicode to represent strings or it may use ANSI.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt; In some rare cases, such as with the MultiByteToWideChar API function, the two parameters to the function disagree on character set.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt;The second reason that &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;working with text when P/Invoking requires you to have some special understanding is that C and the CLR each deal with text differently.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333;&quot;&gt; In C, a string is really only an array of char values, typically terminating in a null. Most of the Windows API functions deal with strings on these terms, either as an array of char values in the ANSI case or an array of wchar values in the case of Unicode.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto;&quot;&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Fortunately, &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;the CLR is designed to be very flexible when marshaling text so that you can get the job done, regardless of what the Windows API function expects from your application&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;. Here are&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: orange; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;the primary considerations to keep in mind&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;
&lt;ul style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #333333; font-style: inherit; margin-bottom: 12px; margin-left: 18px; margin-right: 0px; margin-top: 12px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;
&lt;li style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 3px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Is your application passing text data to the API function or does string data pass back from the API function to your application? Or both?&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 3px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;What managed type should your extern method use?&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 3px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;What unmanaged string format does the API function expect?&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;
Let&#39;s address this last concern first.&amp;nbsp;Most of the Windows API functions take LPTSTR or LPCTSTR values.&amp;nbsp;These are modifiable and non-modifiable buffers, respectively (from the function&#39;s point of view), which contain null-terminated character arrays.&amp;nbsp;The &quot;C&quot; stands for constant and means that information will not be passing out of the function using that parameter. The &quot;T&quot; in LPTSTR indicates that this parameter can be either Unicode or ANSI depending on the character set you choose and depending on the character set of the underlying operating system. Since most string parameters are one of these two types in the Windows API, the CLR defaults work for you so long as you selected CharSet.Auto on your DllImportAttribute.&lt;/div&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #333333; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;However, some API functions or custom DLL functions represent strings in different ways. If you run across one of these functions, you can decorate your extern method&#39;s string parameter with the MarshalAsAttribute and indicate a string format other than the default LPTSTR. For more information on the MarshalAsAttribute, see the Platform SDK documentation topic at&amp;nbsp;&lt;a href=&quot;http://library/en-us/cpref/html/frlrfSystemRuntimeInteropServicesMarshalasAttributeClassTopic.asp&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #0066dd; cursor: pointer; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;&quot;&gt;MarshalAsAttribute Class&lt;/a&gt;.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #333333; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Now let&#39;s look at the direction in which string information is being passed between your code and the unmanaged function. There are two ways that you can know which direction the information is being passed in when working with strings. The first and most reliable method is to understand the purpose of the parameter in the first place. For example, if you are calling a parameter with a name like CreateMutex and it takes a string, then you can imagine that the string information passes from your application to the API function. Meanwhile, if you call GetUserName, then the function name suggests that string information passes from the function to your application.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #333333; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;In addition to the rationalization approach, the second way to find out which direction the information flows in is to look for the letter &quot;C&quot; in the API parameter type. For example, the GetUserName API function&#39;s first parameter is defined as type LPTSTR, which stands for long-pointer to a Unicode or ANSI string buffer. But CreateMutex&#39;s name parameter is typed as LTCTSTR. Notice that here you have the same type definition, but with the addition of the letter &quot;C&quot; to indicate that the buffer is constant and will not be written to by the API function.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #333333; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Once you have established whether the text parameter is input only or input/output, you can determine which CLR type to use for the parameter type. Here are the rules. If the string parameter is input only, use the System.String type. Strings are immutable in managed code, and are well suited to be used as buffers that will not be changed by the native API function.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #333333; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;If the string parameter can be input and/or output, then use the System.StringBuilder type. The StringBuilder type is a useful class library type that helps you build strings efficiently, and it happens to be great for passing buffers to native functions that the functions fill with string data on your behalf. Once the function call has returned, you need only call ToString on the StringBuilder object to get a String object.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #333333; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;The GetShortPathName API function is great for showing when to use String and when to use StringBuilder because it takes only three parameters: an input string, an output string, and a parameter that indicates the length in characters of the output buffer.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #333333; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;The commented documentation for the unmanaged GetShortPathName function in&amp;nbsp;&lt;strong style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;Figure 3&lt;/strong&gt;&amp;nbsp;indicates both an input and output string parameter. This leads to the managed extern method definition, also shown in&amp;nbsp;&lt;strong style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-style: inherit; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;Figure 3&lt;/strong&gt;. Notice that the first parameter is marshaled as a System.String because it is an input-only parameter. The second parameter represents an output buffer, and System.StringBuilder is used.&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #333333; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: -webkit-auto;&quot;&gt;&lt;div class=&quot;MTPS_CollapsibleRegion&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-style: inherit; margin-bottom: 5px; margin-left: 0px; margin-right: 0px; margin-top: 5px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;
&lt;div class=&quot;CollapseRegionLink&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: black; cursor: pointer; font-family: inherit; font-style: inherit; font-weight: bold; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-decoration: none;&quot;&gt;
&lt;img class=&quot;LibC_o&quot; src=&quot;http://i.msdn.microsoft.com/Global/Images/clear.gif&quot; style=&quot;background-attachment: initial; background-clip: initial; background-color: initial; background-image: url(http://i3.msdn.microsoft.com/global/Images/LibC.gif); background-origin: initial; background-position: 0px 0px; background-repeat: initial initial; border-bottom-style: none; border-bottom-width: 0px; border-color: initial; border-color: initial; border-left-style: none; border-left-width: 0px; border-right-style: none; border-right-width: 0px; border-style: initial; border-top-style: none; border-top-width: 0px; border-width: initial; font-family: inherit; font-style: inherit; font-weight: inherit; height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: middle; width: 16px;&quot; /&gt;&amp;nbsp;&amp;nbsp;Figure&amp;nbsp;3&amp;nbsp;GetShortPathName Declarations&lt;/div&gt;
&lt;div class=&quot;MTPS_CollapsibleSection&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; clear: both; font-family: inherit; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 10px; padding-right: 0px; padding-top: 0px;&quot;&gt;
&lt;span id=&quot;ctl00_MTContentSelector1_mainContentContainer_ctl36_ctl00_ctl00&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot; xmlns:msxsl=&quot;urn:schemas-microsoft-com:xslt&quot;&gt;&lt;div class=&quot;libCScode&quot; id=&quot;ctl00_MTContentSelector1_mainContentContainer_ctl36_ctl00_ctl00_&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-color: rgb(255, 255, 255); border-top-style: solid; border-top-width: 5px; font-family: inherit; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 20px; padding-left: 0px; padding-right: 0px; padding-top: 0px; width: 606px;&quot;&gt;
&lt;div class=&quot;CodeSnippetTitleBar&quot; style=&quot;background-color: #dddddd; border-bottom-color: rgb(170, 170, 170); border-bottom-style: solid; border-bottom-width: 1px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-style: inherit; height: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 3px; padding-left: 3px; padding-right: 3px; padding-top: 3px; white-space: nowrap; word-spacing: normal;&quot;&gt;
&lt;div class=&quot;CodeDisplayLanguage&quot; style=&quot;border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; float: left; font-family: inherit; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left;&quot;&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;background-color: #dddddd; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: inherit; font-style: inherit; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;
&lt;pre class=&quot;libCScode&quot; id=&quot;ctl00_MTContentSelector1_mainContentContainer_ctl36_ctl00_ctl00_code&quot; space=&quot;preserve&quot; style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-color: rgb(200, 205, 222); border-top-style: solid; border-top-width: 1px; color: #000066; font-family: &#39;Courier New&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; font-style: inherit; margin-bottom: 10px; outline-color: initial; outline-style: initial; outline-width: 0px; overflow-x: hidden; overflow-y: hidden; padding-bottom: 0px; padding-left: 5px; padding-right: 5px; padding-top: 5px; white-space: pre-wrap; word-wrap: break-word;&quot;&gt;// ** Documentation for Win32 GetShortPathName() API Function
// DWORD GetShortPathName(
//   LPCTSTR lpszLongPath,      // file for which to get short path 
//   LPTSTR lpszShortPath,      // short path name (output)
//   DWORD cchBuffer            // size of output buffer
// );

[DllImport(&quot;Kernel32&quot;, CharSet = CharSet.Auto)]
static extern Int32 GetShortPathName(
   String path,                // input string
   StringBuilder shortPath,    // output string
   Int32 shortPathLength);     // StringBuilder.Capacity
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/span&gt;&lt;div class=&quot;ArticleTypeTitle&quot; id=&quot;S10&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #260859; font-weight: bold; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 3px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Summing it Up&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #333333; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;The P/Invoke features covered in this month&#39;s column are sufficient to call many of the API functions in Windows. However, if your interop needs are significant, you will eventually find yourself marshaling complex data structures and perhaps even needing access to memory directly through pointers in managed code. In fact, interop into native code can be a veritable Pandora&#39;s box of details and low-level bits. The CLR, C#, and managed C++ offer many features to help; perhaps in a later installment of this column I will cover advanced P/Invoke topics.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;ArticleNormalPara&quot; style=&quot;background-color: white; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #333333; line-height: 16px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 7px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: justify;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Meanwhile, whenever you find that the .NET Framework Class Library won&#39;t play a sound for you or perform some other bit of magic on your behalf, you know how to lean on the good old Windows API for some assistance.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.shienandy.com/feeds/5981187337468665390/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2015554925949845258/5981187337468665390' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2015554925949845258/posts/default/5981187337468665390'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2015554925949845258/posts/default/5981187337468665390'/><link rel='alternate' type='text/html' href='http://blog.shienandy.com/2011/11/calling-win32-dlls-in-c-with-pinvoke.html' title='Calling Win32 DLLs in C# with P/Invoke'/><author><name>Andy</name><uri>http://www.blogger.com/profile/02413211813827578740</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqJ3NhbxqU4vGu3sVqHp8j3jHxWOvOqwkG-QlE8OF912wePhMikqV2r2wfK0vlDbsX3LToJ7vEW17Kgp6WMRgOhBdyFNu2cIZyZwmBM4rG5XMVt9OaSj6ICvO0jj7AZw/s220/WP_20161217_10_10_46_Pro.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2015554925949845258.post-2016929426572935663</id><published>2011-11-06T19:54:00.001+09:00</published><updated>2011-11-29T20:42:31.220+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="LabVIEW"/><category scheme="http://www.blogger.com/atom/ns#" term="Laser Ultrasonic"/><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Research"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual C#/C++/.Net"/><title type='text'>Difference between Unmanaged Code and Managed Code</title><content type='html'>&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Times, &#39;Times New Roman&#39;, serif;&quot;&gt;Recently, I&#39;m starting to develop&lt;a href=&quot;http://blog.shienandy.com/&quot;&gt; laser ultrasonic scanning system&lt;/a&gt; in .Net platform. In the passed, I was using &lt;a href=&quot;http://blog.shienandy.com/&quot;&gt;LabVIEW 8.6&lt;/a&gt; to run the system. However, I would like to try with this new platform, where I can learn extra new programming language which lead me easy to compete in coming future.&lt;/span&gt;&lt;br /&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Times, &#39;Times New Roman&#39;, serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Times, &#39;Times New Roman&#39;, serif;&quot;&gt;Before I start to develop the codes for the full system, I have wrapped the unmanaged DLL in .Net using Marshal function. For that, I have to know the difference between the unmanaged and managed DLLs. The following are the definition and different between both.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;a href=&quot;http://blog.shienandy.com/&quot;&gt;Managed Code&lt;/a&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: white; font-family: Arial, Helvetica, sans-serif; line-height: 18px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;Managed code is what Visual Basic .NET and C# compilers create.&lt;/span&gt; It runs on the &lt;a href=&quot;http://blog.shienandy.com/&quot;&gt;CLR (Common Language Runtime&lt;/a&gt;), which, among other things, offers services like garbage collection, run-time type checking, and reference checking. So, think of it as, &quot;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;My code is&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: white; font-family: Arial, Helvetica, sans-serif; line-height: 18px; text-align: left;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;em style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; font-family: Arial, Helvetica, sans-serif; line-height: 18px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; vertical-align: baseline;&quot;&gt;managed&lt;/em&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: white; font-family: Arial, Helvetica, sans-serif; line-height: 18px; text-align: left;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: white; font-family: Arial, Helvetica, sans-serif; line-height: 18px; text-align: left;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;by the CLR.&lt;/span&gt;&quot;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: white; font-family: Arial, Helvetica, sans-serif; line-height: 18px; text-align: left;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: white; font-family: Arial, Helvetica, sans-serif; line-height: 18px; text-align: left;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;Visual Basic and C# can&amp;nbsp;&lt;em style=&quot;background-attachment: initial; background-clip: initial; background-color: transparent; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline;&quot;&gt;only&lt;/em&gt;&amp;nbsp;produce managed code&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;, so, if you&#39;re writing an application in one of those languages you are writing an application managed by the CLR. If you are writing an application in Visual &lt;/span&gt;C++ .NET you can produce managed code if you like, but it&#39;s optional.&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: white; font-family: Arial, Helvetica, sans-serif; line-height: 18px; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial, &#39;Liberation Sans&#39;, &#39;DejaVu Sans&#39;, sans-serif;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;line-height: 18px;&quot;&gt;&lt;b&gt;&lt;u&gt;&lt;a href=&quot;http://blog.shienandy.com/&quot;&gt;Umanaged code&lt;/a&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: white; color: red; font-family: Arial, &#39;Liberation Sans&#39;, &#39;DejaVu Sans&#39;, sans-serif; line-height: 18px; text-align: left;&quot;&gt;Unmanaged code compiles straight to machine code&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;background-color: white; font-family: Arial, &#39;Liberation Sans&#39;, &#39;DejaVu Sans&#39;, sans-serif; line-height: 18px;&quot;&gt;. So, by that definition &lt;span class=&quot;Apple-style-span&quot; style=&quot;color: blue;&quot;&gt;all code compiled by traditional C/C++ compilers is &#39;unmanaged code&#39;&lt;/span&gt;. Also, since &lt;b&gt;it compiles to machine code&lt;/b&gt; and &lt;b&gt;not an intermediate language&lt;/b&gt; it is non-portable.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; clear: both; margin-bottom: 1em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; vertical-align: baseline; word-wrap: break-word;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; clear: both; font-family: Arial, &#39;Liberation Sans&#39;, &#39;DejaVu Sans&#39;, sans-serif; line-height: 18px; margin-bottom: 1em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline; word-wrap: break-word;&quot;&gt;
No free memory management or anything else the CLR provides.&lt;/div&gt;
&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; border-bottom-width: 0px; border-color: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; clear: both; font-family: Arial, &#39;Liberation Sans&#39;, &#39;DejaVu Sans&#39;, sans-serif; line-height: 18px; margin-bottom: 1em; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; vertical-align: baseline; word-wrap: break-word;&quot;&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;&lt;b&gt;Since you cannot create unmanaged code with Visual Basic or C#, in Visual Studio all unmanaged code is written in C/C++.&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
Further links:&lt;br /&gt;
&lt;a href=&quot;http://en.wikipedia.org/wiki/Managed_code&quot;&gt;http://en.wikipedia.org/wiki/Managed_code&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.shienandy.com/feeds/2016929426572935663/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2015554925949845258/2016929426572935663' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2015554925949845258/posts/default/2016929426572935663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2015554925949845258/posts/default/2016929426572935663'/><link rel='alternate' type='text/html' href='http://blog.shienandy.com/2011/11/difference-between-unmanaged-code-and.html' title='Difference between Unmanaged Code and Managed Code'/><author><name>Andy</name><uri>http://www.blogger.com/profile/02413211813827578740</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqJ3NhbxqU4vGu3sVqHp8j3jHxWOvOqwkG-QlE8OF912wePhMikqV2r2wfK0vlDbsX3LToJ7vEW17Kgp6WMRgOhBdyFNu2cIZyZwmBM4rG5XMVt9OaSj6ICvO0jj7AZw/s220/WP_20161217_10_10_46_Pro.jpg'/></author><thr:total>0</thr:total><georss:featurename>South Korea, Jeollabuk-do, Jeonju-si, Wansan-gu, Nosong-dong 568-1</georss:featurename><georss:point>35.8242238 127.1479532</georss:point><georss:box>35.8177863 127.1380827 35.830661299999996 127.15782370000001</georss:box></entry><entry><id>tag:blogger.com,1999:blog-2015554925949845258.post-6512569724568224881</id><published>2011-04-13T22:42:00.001+09:00</published><updated>2011-04-13T22:43:44.166+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="FPGA"/><category scheme="http://www.blogger.com/atom/ns#" term="LabVIEW"/><category scheme="http://www.blogger.com/atom/ns#" term="Research"/><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>Why should we adopt LabVIEW FPGA as a tool for developing FPGA Project?</title><content type='html'>&lt;div style=&quot;color: #333333; font-family: Arial; font-size: 13px; line-height: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;span style=&quot;font-family: calibri; line-height: normal;&quot;&gt;Thanks for your questions and I hope I can answer them appropriately&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: #333333; font-family: Arial; font-size: 13px; line-height: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: #333333; font-family: Arial; font-size: 13px; line-height: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;span style=&quot;font-family: calibri; line-height: normal;&quot;&gt;1. LabVIEW FPGA utilizes the intuitive graphical dataflow language of LabVIEW&amp;nbsp;to target FPGA technology. LabVIEW is particularly nice for FPGA programming because of its ability to represent parallelism inherent to FPGAs. It also serves as a software-like programming experience with loops and structures&amp;nbsp;which has become a focus of industry lately with C-to-gates and other abstraction efforts. Here are some general comparison along the vectors you mentioned&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: #333333; font-family: Arial; font-size: 13px; line-height: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: #333333; font-family: Arial; font-size: 13px; line-height: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;span style=&quot;font-family: calibri; line-height: normal;&quot;&gt;&lt;strong style=&quot;font-style: normal; font-weight: bold;&quot;&gt;Code Size and speed optimization&lt;/strong&gt;&amp;nbsp;- LabVIEW FPGA is a programming language. As such,&amp;nbsp;one can program badly and create designs that are too big to fit on a chip and too slow to meet timing. However, there are two main programming paradigms which you can use. The normal LabVIEW dataflow programming (meaning outside a single-cycle loop) adds registers in order to enforce dataflow and synchronization in parity with the LabVIEW model of computation. As with any abstraction, this use of registers is logic necessary to enforce LabVIEW dataflow and might not be&amp;nbsp;what an expert HDL programmer would create. You trade off the simplicity of LabVIEW dataflow in this case. On the other hand, when you program inside a Single-Cycle timed loop you can achieve size and speed efficiencies comparable to many VHDL implementations. We have had many users that understand that way LabVIEW is transformed to hardware and program in&amp;nbsp;such a way to create very efficient and complex systems.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: #333333; font-family: Arial; font-size: 13px; line-height: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: #333333; font-family: Arial; font-size: 13px; line-height: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;span style=&quot;font-family: Calibri; line-height: normal;&quot;&gt;&lt;strong style=&quot;font-style: normal; font-weight: bold;&quot;&gt;Development Time -&amp;nbsp;&lt;/strong&gt;Compared to VHDL many of our users get near infinite&amp;nbsp;improvements in development time due to the fact that they do not know (nor do they have to know) VHDL or Verilog. Someone who knows LabVIEW can now reach the speeds and parallelism afforded by FPGAs without learning a new language. For harware engineers (that might actually have an alternative to LabVIEW)&amp;nbsp;there are still extreme time saving aspects of LabVIEW including ready-made I/O interfaces, Simple FIFO DMA transfers, stichable IP blocks, and visualizable parallism. &amp;nbsp;I talk to many hardware engineers that are able to drastically&amp;nbsp;improve development time with LabVIEW, especially&amp;nbsp;since they are more knowledgable about the target hardware.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: #333333; font-family: Arial; font-size: 13px; line-height: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: #333333; font-family: Arial; font-size: 13px; line-height: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;span style=&quot;font-family: Calibri; line-height: normal;&quot;&gt;&lt;strong style=&quot;font-style: normal; font-weight: bold;&quot;&gt;Compilation Time -&amp;nbsp;&lt;/strong&gt;Comparable to slightly longer to due to the extra step of generating intermediate files from the&amp;nbsp;LabVIEW diagram, and the increased level of hierarchy in the design to handle abstraction.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: #333333; font-family: Arial; font-size: 13px; line-height: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;color: #333333; font-family: Arial; font-size: 13px; line-height: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;span style=&quot;font-family: Calibri; line-height: normal;&quot;&gt;&lt;strong style=&quot;font-style: normal; font-weight: bold;&quot;&gt;Verification Time -&amp;nbsp;&lt;/strong&gt;One of our key development initiatives moving forward is increased debugging capabilities. Today we have the abilities to functionally simulate anything included in LabVIEW FPGA, and we recently added simluation capabilities for Imported IP through the IP Integration node on NI Labs and the ability to excite your design with simulated I/O. This functional simualation is very fast and is great for verification and quick-turn design iteration. However, we still want to provide more debugging from the timing prespective with better cycle-accurate simulation. Although significantly slower than functional simulation. Cycle-accuracy give us the next level of verification before compilation. The single cycle loop running in emulation mode is cycle accurate simluation, but we want more system level simulation moving forwrad. Finally, we have worked to import things like Xilinx chipscope (soon to be on NI Labs) for on-chip debugging, which is the final step in the verification process. In terms of verification time there are aspects (like functional simulation)&amp;nbsp;that are faster than traditional methods and others that&amp;nbsp;are comparable, and still other that we are continuing to refine.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: #333333; font-family: Arial; font-size: 13px; line-height: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;span style=&quot;font-family: Calibri; line-height: normal;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: #333333; font-family: Arial; font-size: 13px; line-height: 15px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;span style=&quot;font-family: Calibri; line-height: normal;&quot;&gt;&lt;strong style=&quot;font-style: normal; font-weight: bold;&quot;&gt;Ability to develop in the future -&amp;nbsp;&lt;/strong&gt;I am not sure what you mean here but we are certainly continuing to activiely&amp;nbsp;develop on the RIO platform which includes FPGA as the key diffentiating technolgoy.&amp;nbsp;&amp;nbsp;If you take a look at the NI Week keynote&amp;nbsp;videos (ni.com/niweek) there is no&amp;nbsp;doubt from both Day 1 and Day 2 that FPGA&amp;nbsp;will be an important well maintained platform for many years to come.&lt;/span&gt;&lt;/div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333; font-family: Arial; font-size: 13px; line-height: 15px;&quot;&gt;&lt;span style=&quot;font-family: Verdana; line-height: normal;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333; font-family: Verdana; font-size: x-small;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333; font-family: Arial; font-size: 13px; line-height: 15px;&quot;&gt;&lt;span style=&quot;font-family: Verdana; line-height: normal;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #333333; font-family: Arial; font-size: 13px; line-height: 15px;&quot;&gt;&lt;span style=&quot;font-family: Verdana; line-height: normal;&quot;&gt;By&amp;nbsp;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: calibri;&quot;&gt;&lt;strong style=&quot;font-style: normal; font-weight: bold;&quot;&gt;Rick Kuhlman | LabVIEW FPGA Product Manager&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.shienandy.com/feeds/6512569724568224881/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2015554925949845258/6512569724568224881' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2015554925949845258/posts/default/6512569724568224881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2015554925949845258/posts/default/6512569724568224881'/><link rel='alternate' type='text/html' href='http://blog.shienandy.com/2011/04/why-should-we-adopt-labview-fpga-as.html' title='Why should we adopt LabVIEW FPGA as a tool for developing FPGA Project?'/><author><name>Andy</name><uri>http://www.blogger.com/profile/02413211813827578740</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqJ3NhbxqU4vGu3sVqHp8j3jHxWOvOqwkG-QlE8OF912wePhMikqV2r2wfK0vlDbsX3LToJ7vEW17Kgp6WMRgOhBdyFNu2cIZyZwmBM4rG5XMVt9OaSj6ICvO0jj7AZw/s220/WP_20161217_10_10_46_Pro.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2015554925949845258.post-3251752342175604514</id><published>2010-12-21T16:38:00.001+09:00</published><updated>2016-12-27T18:27:46.161+09:00</updated><title type='text'>Photodarkening</title><content type='html'></content><link rel='replies' type='application/atom+xml' href='http://blog.shienandy.com/feeds/3251752342175604514/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2015554925949845258/3251752342175604514' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2015554925949845258/posts/default/3251752342175604514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2015554925949845258/posts/default/3251752342175604514'/><link rel='alternate' type='text/html' href='http://blog.shienandy.com/2010/12/photodarkening.html' title='Photodarkening'/><author><name>Andy</name><uri>http://www.blogger.com/profile/02413211813827578740</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqJ3NhbxqU4vGu3sVqHp8j3jHxWOvOqwkG-QlE8OF912wePhMikqV2r2wfK0vlDbsX3LToJ7vEW17Kgp6WMRgOhBdyFNu2cIZyZwmBM4rG5XMVt9OaSj6ICvO0jj7AZw/s220/WP_20161217_10_10_46_Pro.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2015554925949845258.post-7876575653229988993</id><published>2010-12-06T15:37:00.001+09:00</published><updated>2010-12-06T15:38:13.181+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Research"/><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>Optical fiber splicing</title><content type='html'>It is a nice website with informative contents in optical fiber splicing.&lt;br /&gt;
&lt;a href=&quot;http://dar.ju.edu.jo/mansour/optical/Optical%20Fiber%20Splicing.htm&quot;&gt;http://dar.ju.edu.jo/mansour/optical/Optical%20Fiber%20Splicing.htm&lt;/a&gt;&lt;br /&gt;
&lt;iframe align=&quot;left&quot; frameborder=&quot;0&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot; src=&quot;http://rcm.amazon.com/e/cm?t=shienandy&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=3639309626&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr&quot; style=&quot;align: left; height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;&quot;&gt;&lt;/iframe&gt;&amp;nbsp;&lt;a href=&quot;http://9im6jjs425770o267f7u4gprd0l4tbn2-a-blogger-opensocial.googleusercontent.com/gadgets/ifr?url=http%3A%2F%2Fwms.assoc-amazon.com%2FGoogleGadgets%2Famzn_monetize.xml&amp;amp;container=blogger&amp;amp;view=editor-sidebar&amp;amp;lang=en&amp;amp;country=ALL&amp;amp;v=ac6ecfe2e768ddd3&amp;amp;libs=core%3Adynamic-height%3Agoogle.blog%3Agoogle.blog.editor%3Alocked-domain%3Arpc%3Asetprefs%3Asettitle%3Aviews&amp;amp;parent=http%3A%2F%2Fwww.blogger.com%2F&amp;amp;mid=1266282894011#&quot;&gt;Go&lt;/a&gt;&lt;iframe align=&quot;left&quot; frameborder=&quot;0&quot; marginheight=&quot;0&quot; marginwidth=&quot;0&quot; scrolling=&quot;no&quot; src=&quot;http://rcm.amazon.com/e/cm?t=shienandy&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=3642062059&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr&quot; style=&quot;align: left; height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;&quot;&gt;&lt;/iframe&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.shienandy.com/feeds/7876575653229988993/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2015554925949845258/7876575653229988993' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2015554925949845258/posts/default/7876575653229988993'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2015554925949845258/posts/default/7876575653229988993'/><link rel='alternate' type='text/html' href='http://blog.shienandy.com/2010/12/optical-fiber-splicing.html' title='Optical fiber splicing'/><author><name>Andy</name><uri>http://www.blogger.com/profile/02413211813827578740</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqJ3NhbxqU4vGu3sVqHp8j3jHxWOvOqwkG-QlE8OF912wePhMikqV2r2wfK0vlDbsX3LToJ7vEW17Kgp6WMRgOhBdyFNu2cIZyZwmBM4rG5XMVt9OaSj6ICvO0jj7AZw/s220/WP_20161217_10_10_46_Pro.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2015554925949845258.post-2998804053027465191</id><published>2010-09-24T08:51:00.000+09:00</published><updated>2010-09-24T08:51:59.434+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><category scheme="http://www.blogger.com/atom/ns#" term="Video"/><category scheme="http://www.blogger.com/atom/ns#" term="youtube"/><title type='text'>IBM breakthrough could measure rapid changes to atoms</title><content type='html'>&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial; font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 13px;&quot;&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial; font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 13px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;object height=&quot;390&quot; width=&quot;640&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/DmTeKpOrVNw&amp;amp;hl=en_US&amp;amp;feature=player_embedded&amp;amp;version=3&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;/param&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/DmTeKpOrVNw&amp;amp;hl=en_US&amp;amp;feature=player_embedded&amp;amp;version=3&quot; type=&quot;application/x-shockwave-flash&quot; allowfullscreen=&quot;true&quot; allowScriptAccess=&quot;always&quot; width=&quot;480&quot; height=&quot;390&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial; font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 13px;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Arial; font-size: small;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-size: 13px;&quot;&gt;By &lt;a href=&quot;http://news.cnet.com/8301-13772_3-20017358-52.html?tag=nl.e703&quot;&gt;CNET&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.shienandy.com/feeds/2998804053027465191/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2015554925949845258/2998804053027465191' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2015554925949845258/posts/default/2998804053027465191'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2015554925949845258/posts/default/2998804053027465191'/><link rel='alternate' type='text/html' href='http://blog.shienandy.com/2010/09/ibm-breakthrough-could-measure-rapid.html' title='IBM breakthrough could measure rapid changes to atoms'/><author><name>Andy</name><uri>http://www.blogger.com/profile/02413211813827578740</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqJ3NhbxqU4vGu3sVqHp8j3jHxWOvOqwkG-QlE8OF912wePhMikqV2r2wfK0vlDbsX3LToJ7vEW17Kgp6WMRgOhBdyFNu2cIZyZwmBM4rG5XMVt9OaSj6ICvO0jj7AZw/s220/WP_20161217_10_10_46_Pro.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2015554925949845258.post-3673288954661112983</id><published>2010-09-16T19:59:00.002+09:00</published><updated>2010-09-16T20:23:03.084+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="LabVIEW"/><category scheme="http://www.blogger.com/atom/ns#" term="Programming"/><category scheme="http://www.blogger.com/atom/ns#" term="Research"/><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>Efficiency of LabVIEW application</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial;&quot;&gt;Currently, I&#39;m facing the problem of LabVIEW execution efficient. Thus, I found a book which simply can help my programming skills in LabVIEW and eventually can solve my problems. ^^&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial;&quot;&gt;The following notes are written by &lt;/span&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial;&quot;&gt;P. A. Blume&lt;/span&gt;&lt;/b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial;&quot;&gt;, &lt;/span&gt;&lt;i&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial;&quot;&gt;&lt;a href=&quot;http://www.amazon.com/LabVIEW-Style-Book-Peter-Blume/dp/0131458353?ie=UTF8&amp;amp;tag=andy05e-20&amp;amp;link_code=btl&amp;amp;camp=213689&amp;amp;creative=392969&quot; target=&quot;_blank&quot;&gt;The LabVIEW Style Book&amp;nbsp;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;1&quot; src=&quot;http://www.assoc-amazon.com/e/ir?t=andy05e-20&amp;amp;l=btl&amp;amp;camp=213689&amp;amp;creative=392969&amp;amp;o=1&amp;amp;a=0131458353&quot; style=&quot;border: none !important; margin: 0px !important; padding: 0px !important;&quot; width=&quot;1&quot; /&gt;&lt;/a&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; height=&quot;1&quot; src=&quot;http://www.assoc-amazon.com/e/ir?t=andy05e-20&amp;amp;l=btl&amp;amp;camp=213689&amp;amp;creative=392969&amp;amp;o=1&amp;amp;a=0131458353&quot; style=&quot;border: none !important; margin: 0px !important; padding: 0px !important;&quot; width=&quot;1&quot; /&gt;&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;ol&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial;&quot;&gt;An efficient LabVIEW application executes quickly, without performing unnecessary operations, particularly ones that are performed repeatedly within looping structures. &lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial;&quot;&gt;An efficient application also conserves memory by limiting the size of the four LabVIEW memory components: the front panel, block diagram, data space, and code.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial;&quot;&gt;Front panel and block diagram memory store the graphical objects and images that comprise the front panel and block diagram, respectively.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial;&quot;&gt;Data space memory contains all the data that flows through the diagram, as well as the diagram constants, default values for front panel controls, and the data that is copied when written to variables and front panel indicators.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial;&quot;&gt;Code is the portion of memory that contains the compiled source code.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial;&quot;&gt;Efficient applications minimize I/O operations, such as GUI updates, instrument and network communications, and data acquisition (DAQ) calls.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial;&quot;&gt;Execution speed and memory use are related. &lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial;&quot;&gt;Memory and disk operations are a principal source of latencies in all modern computing devices. As memory consumption grows during the execution of an application, LabVIEW&#39;s memory manager is called upon to allocate new and larger memory blocks. &lt;/span&gt;&lt;i&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial;&quot;&gt;This causes a delay while the memory manager runs and results in fragmented memory, for which some of the previous blocks are not efficiently used.&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: black;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-style: normal;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial;&quot;&gt;The memory manager is a wonderful aspect of LabVIEW that handles memory allocation automatically. However, developers should be aware of the types of operations that might cause it to run and avoid these situations from occurring unnecessarily. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;i&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: black;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-style: normal;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial;&quot;&gt;Tools&amp;gt;&amp;gt;Profile&amp;gt;&amp;gt;&lt;/span&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial;&quot;&gt;Performance and Memory&lt;/span&gt;&lt;/b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial;&quot;&gt; is directly measures the execution speed and data memory of all VIs loaded in memory. This tool helps to improve the efficiency of an application.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;i&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: black;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-style: normal;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial;&quot;&gt;Use the Profile Performance and Memory window to determine which VIs consume the most time and memory, and examine those more closely. We can optimize our VI&#39;s efficiency by iteratively making improvements and checking the profile metrics.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;i&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-style: normal;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial;&quot;&gt;The Profile Performance and Memory window is best used for measuring the change in efficiency of a single application when incremental modifications have been made.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/i&gt;&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial;&quot;&gt;An alternate method of evaluating efficiency is simply to inspect the application for sources of inefficiency. &lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial;&quot;&gt;Look for unnecessary operations within loops and for operations that create new data buffers. &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial;&quot;&gt;For example, contains many nodes within the main While Loop (includes read local variables, which make copies of their data when read from, and Property Nodes that are written within every iteration, regardless of whether their value has changed).&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial;&quot;&gt;Tight loop is several control terminals are polled within the innermost While Loop as fast as the loop can run. &lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial;&quot;&gt;High-speed GUI polling is not an efficient use of the processor&lt;/span&gt;&lt;/b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial;&quot;&gt; (most humans cannot distinguish between a 1 ms and a 100 ms GUI response).&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial;&quot;&gt;More efficient alternatives include a&lt;/span&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial;&quot;&gt;dding a delay&lt;/span&gt;&lt;/b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial;&quot;&gt; &lt;/span&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial;&quot;&gt;using the Wait (ms) function&lt;/span&gt;&lt;/b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial;&quot;&gt; or using an &lt;/span&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial;&quot;&gt;Event structure to service all user interface activity&lt;/span&gt;&lt;/b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial;&quot;&gt;, and these alternatives &lt;/span&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial;&quot;&gt;free the processor to work on parallel tasks and applications&lt;/span&gt;&lt;/b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial;&quot;&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3333ff;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial;&quot;&gt;Event structures&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial;&quot;&gt; are the most efficient method of capturing user interface activity.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: #3333ff;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial;&quot;&gt;Shift registers&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial;&quot;&gt; are much more efficient alternatives to variables, and queues are more much more functional.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;color: red;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial;&quot;&gt;Makes good used of sub VIs can increase memory efficiency, but uses sequence structures can decrease processing efficiency.&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;b&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial;&quot;&gt;SubVis reduce the quantity of nodes on the diagram and reduces block diagram memory.&lt;/span&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial;&quot;&gt;LabVIEW can reclaim memory buffers used by subVIs when the subVIs are not executing, thereby reducing data memory use. &lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial;&quot;&gt;Sequence structure is called, all frames must execute through completion, in consecutive order.&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;div style=&quot;text-align: justify;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: arial;&quot;&gt;I will continue share the useful tips from this book since I&#39;m reading it. I hope it is useful for you all too.&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.shienandy.com/feeds/3673288954661112983/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2015554925949845258/3673288954661112983' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2015554925949845258/posts/default/3673288954661112983'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2015554925949845258/posts/default/3673288954661112983'/><link rel='alternate' type='text/html' href='http://blog.shienandy.com/2010/09/efficiency-of-labview-application.html' title='Efficiency of LabVIEW application'/><author><name>Andy</name><uri>http://www.blogger.com/profile/02413211813827578740</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqJ3NhbxqU4vGu3sVqHp8j3jHxWOvOqwkG-QlE8OF912wePhMikqV2r2wfK0vlDbsX3LToJ7vEW17Kgp6WMRgOhBdyFNu2cIZyZwmBM4rG5XMVt9OaSj6ICvO0jj7AZw/s220/WP_20161217_10_10_46_Pro.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2015554925949845258.post-90060432451006354</id><published>2010-09-14T14:54:00.003+09:00</published><updated>2010-09-14T15:01:44.233+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Acoustic Sensor"/><category scheme="http://www.blogger.com/atom/ns#" term="Conference"/><category scheme="http://www.blogger.com/atom/ns#" term="Fiber Bragg Grating"/><category scheme="http://www.blogger.com/atom/ns#" term="NDE"/><category scheme="http://www.blogger.com/atom/ns#" term="NDT"/><category scheme="http://www.blogger.com/atom/ns#" term="Nuclear Power Plant"/><category scheme="http://www.blogger.com/atom/ns#" term="SHM"/><category scheme="http://www.blogger.com/atom/ns#" term="Structural Health Monitoring"/><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>Design of Fiber Bragg Grating Acoustic Sensor for Structural Health Monitoring of Nuclear Power Plant</title><content type='html'>&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;EN-US&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;ZH-CN&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;    &lt;w:usefelayout/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val=&quot;Cambria Math&quot;&gt;    &lt;m:brkbin val=&quot;before&quot;&gt;    &lt;m:brkbinsub val=&quot;&amp;#45;-&quot;&gt;    &lt;m:smallfrac val=&quot;off&quot;&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val=&quot;0&quot;&gt;    &lt;m:rmargin val=&quot;0&quot;&gt;    &lt;m:defjc val=&quot;centerGroup&quot;&gt;    &lt;m:wrapindent val=&quot;1440&quot;&gt;    &lt;m:intlim val=&quot;subSup&quot;&gt;    &lt;m:narylim val=&quot;undOvr&quot;&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate=&quot;false&quot; defunhidewhenused=&quot;true&quot; defsemihidden=&quot;true&quot; defqformat=&quot;false&quot; defpriority=&quot;99&quot; latentstylecount=&quot;267&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;0&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; qformat=&quot;true&quot; name=&quot;Normal&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;9&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; qformat=&quot;true&quot; name=&quot;heading 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;9&quot; qformat=&quot;true&quot; name=&quot;heading 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;9&quot; qformat=&quot;true&quot; name=&quot;heading 3&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;9&quot; qformat=&quot;true&quot; name=&quot;heading 4&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;9&quot; qformat=&quot;true&quot; name=&quot;heading 5&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;9&quot; qformat=&quot;true&quot; name=&quot;heading 6&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;9&quot; qformat=&quot;true&quot; name=&quot;heading 7&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;9&quot; qformat=&quot;true&quot; name=&quot;heading 8&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;9&quot; qformat=&quot;true&quot; name=&quot;heading 9&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;39&quot; name=&quot;toc 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;39&quot; name=&quot;toc 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;39&quot; name=&quot;toc 3&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;39&quot; name=&quot;toc 4&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;39&quot; name=&quot;toc 5&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;39&quot; name=&quot;toc 6&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;39&quot; name=&quot;toc 7&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;39&quot; name=&quot;toc 8&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;39&quot; name=&quot;toc 9&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;35&quot; qformat=&quot;true&quot; name=&quot;caption&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;10&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; qformat=&quot;true&quot; name=&quot;Title&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;1&quot; name=&quot;Default Paragraph Font&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;11&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; qformat=&quot;true&quot; name=&quot;Subtitle&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;22&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; qformat=&quot;true&quot; name=&quot;Strong&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;20&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; qformat=&quot;true&quot; name=&quot;Emphasis&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;59&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Table Grid&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Placeholder Text&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;1&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; qformat=&quot;true&quot; name=&quot;No Spacing&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;60&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light Shading&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;61&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light List&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;62&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light Grid&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;63&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Shading 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;64&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Shading 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;65&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium List 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;66&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium List 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;67&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;68&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;69&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 3&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;70&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Dark List&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;71&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful Shading&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;72&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful List&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;73&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful Grid&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;60&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light Shading Accent 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;61&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light List Accent 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;62&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light Grid Accent 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;63&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Shading 1 Accent 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;64&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Shading 2 Accent 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;65&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium List 1 Accent 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Revision&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;34&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; qformat=&quot;true&quot; name=&quot;List Paragraph&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;29&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; qformat=&quot;true&quot; name=&quot;Quote&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;30&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; qformat=&quot;true&quot; name=&quot;Intense Quote&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;66&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium List 2 Accent 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;67&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 1 Accent 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;68&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 2 Accent 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;69&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 3 Accent 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;70&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Dark List Accent 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;71&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful Shading Accent 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;72&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful List Accent 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;73&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful Grid Accent 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;60&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light Shading Accent 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;61&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light List Accent 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;62&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light Grid Accent 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;63&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Shading 1 Accent 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;64&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Shading 2 Accent 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;65&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium List 1 Accent 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;66&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium List 2 Accent 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;67&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 1 Accent 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;68&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 2 Accent 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;69&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 3 Accent 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;70&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Dark List Accent 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;71&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful Shading Accent 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;72&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful List Accent 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;73&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful Grid Accent 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;60&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light Shading Accent 3&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;61&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light List Accent 3&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;62&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light Grid Accent 3&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;63&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Shading 1 Accent 3&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;64&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Shading 2 Accent 3&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;65&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium List 1 Accent 3&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;66&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium List 2 Accent 3&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;67&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 1 Accent 3&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;68&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 2 Accent 3&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;69&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 3 Accent 3&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;70&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Dark List Accent 3&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;71&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful Shading Accent 3&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;72&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful List Accent 3&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;73&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful Grid Accent 3&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;60&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light Shading Accent 4&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;61&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light List Accent 4&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;62&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light Grid Accent 4&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;63&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Shading 1 Accent 4&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;64&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Shading 2 Accent 4&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;65&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium List 1 Accent 4&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;66&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium List 2 Accent 4&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;67&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 1 Accent 4&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;68&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 2 Accent 4&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;69&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 3 Accent 4&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;70&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Dark List Accent 4&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;71&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful Shading Accent 4&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;72&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful List Accent 4&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;73&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful Grid Accent 4&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;60&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light Shading Accent 5&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;61&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light List Accent 5&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;62&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light Grid Accent 5&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;63&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Shading 1 Accent 5&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;64&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Shading 2 Accent 5&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;65&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium List 1 Accent 5&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;66&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium List 2 Accent 5&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;67&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 1 Accent 5&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;68&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 2 Accent 5&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;69&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 3 Accent 5&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;70&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Dark List Accent 5&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;71&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful Shading Accent 5&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;72&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful List Accent 5&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;73&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful Grid Accent 5&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;60&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light Shading Accent 6&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;61&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light List Accent 6&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;62&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light Grid Accent 6&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;63&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Shading 1 Accent 6&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;64&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Shading 2 Accent 6&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;65&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium List 1 Accent 6&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;66&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium List 2 Accent 6&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;67&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 1 Accent 6&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;68&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 2 Accent 6&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;69&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 3 Accent 6&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;70&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Dark List Accent 6&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;71&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful Shading Accent 6&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;72&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful List Accent 6&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;73&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful Grid Accent 6&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;19&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; qformat=&quot;true&quot; name=&quot;Subtle Emphasis&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;21&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; qformat=&quot;true&quot; name=&quot;Intense Emphasis&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;31&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; qformat=&quot;true&quot; name=&quot;Subtle Reference&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;32&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; qformat=&quot;true&quot; name=&quot;Intense Reference&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;33&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; qformat=&quot;true&quot; name=&quot;Book Title&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;37&quot; name=&quot;Bibliography&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;39&quot; qformat=&quot;true&quot; name=&quot;TOC Heading&quot;&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable  {mso-style-name:&quot;Table Normal&quot;;  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-priority:99;  mso-style-qformat:yes;  mso-style-parent:&quot;&quot;;  mso-padding-alt:0in 5.4pt 0in 5.4pt;  mso-para-margin-top:0in;  mso-para-margin-right:0in;  mso-para-margin-bottom:10.0pt;  mso-para-margin-left:0in;  line-height:115%;  mso-pagination:widow-orphan;  font-size:11.0pt;  font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;  mso-ascii-font-family:Calibri;  mso-ascii-theme-font:minor-latin;  mso-hansi-font-family:Calibri;  mso-hansi-theme-font:minor-latin;  mso-bidi-font-family:&quot;Times New Roman&quot;;  mso-bidi-theme-font:minor-bidi;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;p style=&quot;font-family: arial;&quot; class=&quot;TTPAuthors&quot;&gt;Jung-Ryul Lee&lt;sup&gt;1,&lt;/sup&gt;&lt;sup&gt;&lt;span style=&quot;&quot;&gt;a&lt;/span&gt;&lt;/sup&gt; &lt;a href=&quot;http://blog.shienandy.com/&quot;&gt;See Yenn Chong&lt;sup&gt;1,&lt;/sup&gt;&lt;sup&gt;&lt;span style=&quot;&quot;&gt;b&lt;/span&gt;&lt;/sup&gt;&lt;/a&gt;&lt;span style=&quot;&quot;&gt;,&lt;/span&gt;&lt;sup&gt; &lt;/sup&gt;&lt;span style=&quot;&quot;&gt;Chang Yong Y&lt;/span&gt;&lt;span style=&quot;&quot;&gt;u&lt;/span&gt;&lt;span style=&quot;&quot;&gt;n&lt;sup&gt;1&lt;/sup&gt;&lt;/span&gt;&lt;sup&gt;&lt;span style=&quot;&quot;&gt;,c&lt;/span&gt;&lt;/sup&gt;&lt;span style=&quot;&quot;&gt;,&lt;sup&gt; &lt;/sup&gt;Hoon Sohn&lt;sup&gt;2&lt;/sup&gt;&lt;/span&gt;&lt;sup&gt;,&lt;/sup&gt;&lt;sup&gt;&lt;span style=&quot;&quot;&gt;d&lt;/span&gt; &lt;/sup&gt;&lt;/p&gt;  &lt;p face=&quot;arial&quot; class=&quot;TTPAddress&quot;&gt;&lt;sup&gt;1&lt;/sup&gt;Dept. of Aerospace Engineering, Chonbuk National University, 664-14 Duckjin-dong, Duckjin-gu, Jeonju, Chonbuk, 561-756, Republic of Korea&lt;span style=&quot;&quot;&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;font-family: arial;&quot; class=&quot;TTPAddress&quot;&gt;&lt;sup&gt;&lt;span style=&quot;&quot;&gt;2&lt;/span&gt;&lt;/sup&gt;&lt;span style=&quot;&quot;&gt;Dept. of Civil and Environmental Engineering, Korea Advanced Institute of Science and Technology, 335 Gwahangno, Yuseong-gu, Daejon, Korea&lt;/span&gt;&lt;span style=&quot;&quot;&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;font-family: arial;&quot; class=&quot;TTPAddress&quot;&gt;&lt;sup&gt;a&lt;/sup&gt;leejrr@jbnu.ac.kr, &lt;sup&gt;b&lt;/sup&gt;chongandy@live.com&lt;span style=&quot;&quot;&gt;, &lt;sup&gt;c&lt;/sup&gt;&lt;/span&gt;ch&lt;span style=&quot;&quot;&gt;yun0207&lt;/span&gt;@&lt;span style=&quot;&quot;&gt;nate&lt;/span&gt;.com&lt;span style=&quot;&quot;&gt;, &lt;sup&gt;d&lt;/sup&gt;hoonsohn@kaist.ac.kr&lt;/span&gt;&lt;/p&gt;  &lt;b  style=&quot;font-family:arial;&quot;&gt;&lt;span lang=&quot;DE&quot;  style=&quot;font-size:10pt;&quot;&gt;Keywords:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot; ;font-family:arial;font-size:10pt;&quot;  lang=&quot;DE&quot; &gt; Structural health monitoring, Nuclear power plant, Metal-coated optical fiber, Fiber Bragg grating acoustic sensor&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style=&quot;text-align: justify; font-family: arial;&quot;&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:view&gt;Normal&lt;/w:View&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves/&gt;   &lt;w:trackformatting/&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:donotpromoteqf/&gt;   &lt;w:lidthemeother&gt;EN-US&lt;/w:LidThemeOther&gt;   &lt;w:lidthemeasian&gt;ZH-CN&lt;/w:LidThemeAsian&gt;   &lt;w:lidthemecomplexscript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:snaptogridincell/&gt;    &lt;w:wraptextwithpunct/&gt;    &lt;w:useasianbreakrules/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:splitpgbreakandparamark/&gt;    &lt;w:dontvertaligncellwithsp/&gt;    &lt;w:dontbreakconstrainedforcedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;    &lt;w:word11kerningpairs/&gt;    &lt;w:cachedcolbalance/&gt;    &lt;w:usefelayout/&gt;   &lt;/w:Compatibility&gt;   &lt;w:browserlevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;   &lt;m:mathpr&gt;    &lt;m:mathfont val=&quot;Cambria Math&quot;&gt;    &lt;m:brkbin val=&quot;before&quot;&gt;    &lt;m:brkbinsub val=&quot;&amp;#45;-&quot;&gt;    &lt;m:smallfrac val=&quot;off&quot;&gt;    &lt;m:dispdef/&gt;    &lt;m:lmargin val=&quot;0&quot;&gt;    &lt;m:rmargin val=&quot;0&quot;&gt;    &lt;m:defjc val=&quot;centerGroup&quot;&gt;    &lt;m:wrapindent val=&quot;1440&quot;&gt;    &lt;m:intlim val=&quot;subSup&quot;&gt;    &lt;m:narylim val=&quot;undOvr&quot;&gt;   &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate=&quot;false&quot; defunhidewhenused=&quot;true&quot; defsemihidden=&quot;true&quot; defqformat=&quot;false&quot; defpriority=&quot;99&quot; latentstylecount=&quot;267&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;0&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; qformat=&quot;true&quot; name=&quot;Normal&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;9&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; qformat=&quot;true&quot; name=&quot;heading 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;9&quot; qformat=&quot;true&quot; name=&quot;heading 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;9&quot; qformat=&quot;true&quot; name=&quot;heading 3&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;9&quot; qformat=&quot;true&quot; name=&quot;heading 4&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;9&quot; qformat=&quot;true&quot; name=&quot;heading 5&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;9&quot; qformat=&quot;true&quot; name=&quot;heading 6&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;9&quot; qformat=&quot;true&quot; name=&quot;heading 7&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;9&quot; qformat=&quot;true&quot; name=&quot;heading 8&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;9&quot; qformat=&quot;true&quot; name=&quot;heading 9&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;39&quot; name=&quot;toc 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;39&quot; name=&quot;toc 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;39&quot; name=&quot;toc 3&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;39&quot; name=&quot;toc 4&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;39&quot; name=&quot;toc 5&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;39&quot; name=&quot;toc 6&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;39&quot; name=&quot;toc 7&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;39&quot; name=&quot;toc 8&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;39&quot; name=&quot;toc 9&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;35&quot; qformat=&quot;true&quot; name=&quot;caption&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;10&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; qformat=&quot;true&quot; name=&quot;Title&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;1&quot; name=&quot;Default Paragraph Font&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;11&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; qformat=&quot;true&quot; name=&quot;Subtitle&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;22&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; qformat=&quot;true&quot; name=&quot;Strong&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;20&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; qformat=&quot;true&quot; name=&quot;Emphasis&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;59&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Table Grid&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Placeholder Text&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;1&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; qformat=&quot;true&quot; name=&quot;No Spacing&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;60&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light Shading&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;61&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light List&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;62&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light Grid&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;63&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Shading 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;64&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Shading 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;65&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium List 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;66&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium List 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;67&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;68&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;69&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 3&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;70&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Dark List&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;71&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful Shading&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;72&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful List&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;73&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful Grid&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;60&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light Shading Accent 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;61&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light List Accent 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;62&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light Grid Accent 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;63&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Shading 1 Accent 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;64&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Shading 2 Accent 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;65&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium List 1 Accent 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Revision&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;34&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; qformat=&quot;true&quot; name=&quot;List Paragraph&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;29&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; qformat=&quot;true&quot; name=&quot;Quote&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;30&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; qformat=&quot;true&quot; name=&quot;Intense Quote&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;66&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium List 2 Accent 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;67&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 1 Accent 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;68&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 2 Accent 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;69&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 3 Accent 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;70&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Dark List Accent 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;71&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful Shading Accent 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;72&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful List Accent 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;73&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful Grid Accent 1&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;60&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light Shading Accent 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;61&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light List Accent 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;62&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light Grid Accent 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;63&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Shading 1 Accent 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;64&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Shading 2 Accent 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;65&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium List 1 Accent 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;66&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium List 2 Accent 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;67&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 1 Accent 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;68&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 2 Accent 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;69&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 3 Accent 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;70&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Dark List Accent 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;71&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful Shading Accent 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;72&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful List Accent 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;73&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful Grid Accent 2&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;60&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light Shading Accent 3&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;61&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light List Accent 3&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;62&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light Grid Accent 3&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;63&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Shading 1 Accent 3&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;64&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Shading 2 Accent 3&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;65&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium List 1 Accent 3&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;66&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium List 2 Accent 3&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;67&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 1 Accent 3&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;68&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 2 Accent 3&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;69&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 3 Accent 3&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;70&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Dark List Accent 3&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;71&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful Shading Accent 3&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;72&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful List Accent 3&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;73&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful Grid Accent 3&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;60&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light Shading Accent 4&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;61&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light List Accent 4&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;62&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light Grid Accent 4&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;63&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Shading 1 Accent 4&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;64&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Shading 2 Accent 4&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;65&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium List 1 Accent 4&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;66&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium List 2 Accent 4&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;67&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 1 Accent 4&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;68&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 2 Accent 4&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;69&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 3 Accent 4&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;70&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Dark List Accent 4&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;71&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful Shading Accent 4&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;72&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful List Accent 4&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;73&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful Grid Accent 4&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;60&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light Shading Accent 5&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;61&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light List Accent 5&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;62&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light Grid Accent 5&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;63&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Shading 1 Accent 5&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;64&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Shading 2 Accent 5&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;65&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium List 1 Accent 5&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;66&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium List 2 Accent 5&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;67&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 1 Accent 5&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;68&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 2 Accent 5&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;69&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 3 Accent 5&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;70&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Dark List Accent 5&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;71&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful Shading Accent 5&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;72&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful List Accent 5&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;73&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful Grid Accent 5&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;60&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light Shading Accent 6&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;61&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light List Accent 6&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;62&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Light Grid Accent 6&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;63&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Shading 1 Accent 6&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;64&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Shading 2 Accent 6&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;65&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium List 1 Accent 6&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;66&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium List 2 Accent 6&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;67&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 1 Accent 6&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;68&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 2 Accent 6&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;69&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Medium Grid 3 Accent 6&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;70&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Dark List Accent 6&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;71&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful Shading Accent 6&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;72&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful List Accent 6&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;73&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; name=&quot;Colorful Grid Accent 6&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;19&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; qformat=&quot;true&quot; name=&quot;Subtle Emphasis&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;21&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; qformat=&quot;true&quot; name=&quot;Intense Emphasis&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;31&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; qformat=&quot;true&quot; name=&quot;Subtle Reference&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;32&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; qformat=&quot;true&quot; name=&quot;Intense Reference&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;33&quot; semihidden=&quot;false&quot; unhidewhenused=&quot;false&quot; qformat=&quot;true&quot; name=&quot;Book Title&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;37&quot; name=&quot;Bibliography&quot;&gt;   &lt;w:lsdexception locked=&quot;false&quot; priority=&quot;39&quot; qformat=&quot;true&quot; name=&quot;TOC Heading&quot;&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */  table.MsoNormalTable  {mso-style-name:&quot;Table Normal&quot;;  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-priority:99;  mso-style-qformat:yes;  mso-style-parent:&quot;&quot;;  mso-padding-alt:0in 5.4pt 0in 5.4pt;  mso-para-margin-top:0in;  mso-para-margin-right:0in;  mso-para-margin-bottom:10.0pt;  mso-para-margin-left:0in;  line-height:115%;  mso-pagination:widow-orphan;  font-size:11.0pt;  font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;  mso-ascii-font-family:Calibri;  mso-ascii-theme-font:minor-latin;  mso-hansi-font-family:Calibri;  mso-hansi-theme-font:minor-latin;  mso-bidi-font-family:&quot;Times New Roman&quot;;  mso-bidi-theme-font:minor-bidi;} &lt;/style&gt; &lt;![endif]--&gt;  &lt;/div&gt;&lt;p style=&quot;text-align: justify; font-family: arial;&quot; class=&quot;TTPAbstract&quot;&gt;&lt;b&gt;Abstract.&lt;/b&gt; Nuclear power plant (NPP) is commonly categorized as a harsh environment that gives rise age-related degradation on the structures of plant and eventually leads to radiation leakage that threatens to human. Integrated structural health monitoring (ISHM) technology is a strong candidate for NPP accidents. The emergence of optical fiber technology into SHM system for NPP was greatly interested by researchers, and also prior research works have shown that the fiber Bragg grating (FBG) was able to retain its &lt;span style=&quot;&quot;&gt;reflectivity &lt;/span&gt;under radiation exposure. In this paper, a metal-coated fiber was newly used to develop a FBG acoustic sensor for ISHM of NPP. The 7 mm length of aluminum, copper/carbon coatings were successfully removed with sodium hydroxide and nitric acid solutions. A 5 mm FBG was successfully inscribed in the silica core through the 7 mm&lt;span style=&quot;&quot;&gt; long&lt;/span&gt; &lt;span style=&quot;&quot;&gt;coating-removed silica section&lt;/span&gt; of copper&lt;span style=&quot;&quot;&gt;/carbon&lt;/span&gt;-coated&lt;span style=&quot;&quot;&gt; fiber&lt;/span&gt; and the initial reflectivity was 71%. Then, the FBG acoustic sensor was developed in one-end-free FBG configuration on the stainless steel vessel using a high temperature metallic adhesive. The reflective power of the sensor was stabilized at 345&lt;span style=&quot;&quot;&gt;°&lt;/span&gt;C during the high temperature elevation cyclic process. The FBG acoustic sensor showed good response to the acousto-ultrasonic waves during pencil-lead breaking and laser ultrasounics tests. The high temperature FBG acoustic sensor written in the cost-effective metal/carbon is feasible to be used for ISHM of the NPP.&lt;/p&gt;  &lt;span style=&quot;font-weight: bold;&quot;&gt;Note: &lt;/span&gt;The proceeding paper has published in &lt;a href=&quot;http://www.scientific.net/AMR.123-125.859&quot;&gt;Advanced Materials Research&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.shienandy.com/feeds/90060432451006354/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2015554925949845258/90060432451006354' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2015554925949845258/posts/default/90060432451006354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2015554925949845258/posts/default/90060432451006354'/><link rel='alternate' type='text/html' href='http://blog.shienandy.com/2010/09/design-of-fiber-bragg-grating-acoustic.html' title='Design of Fiber Bragg Grating Acoustic Sensor for Structural Health Monitoring of Nuclear Power Plant'/><author><name>Andy</name><uri>http://www.blogger.com/profile/02413211813827578740</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqJ3NhbxqU4vGu3sVqHp8j3jHxWOvOqwkG-QlE8OF912wePhMikqV2r2wfK0vlDbsX3LToJ7vEW17Kgp6WMRgOhBdyFNu2cIZyZwmBM4rG5XMVt9OaSj6ICvO0jj7AZw/s220/WP_20161217_10_10_46_Pro.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2015554925949845258.post-4404514615411327266</id><published>2010-09-14T14:38:00.007+09:00</published><updated>2010-09-14T15:02:10.166+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Acoustic Sensor"/><category scheme="http://www.blogger.com/atom/ns#" term="Fiber Bragg Grating"/><category scheme="http://www.blogger.com/atom/ns#" term="Journal"/><category scheme="http://www.blogger.com/atom/ns#" term="SHM"/><category scheme="http://www.blogger.com/atom/ns#" term="Structural Health Monitoring"/><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><title type='text'>A lasing wavelength stabilized simultaneous multipoint acoustic sensing system using pressure-coupled fiber Bragg gratings</title><content type='html'>&lt;p style=&quot;font-family: arial;&quot;&gt;&lt;strong&gt;Jung-Ryul Lee&lt;a href=&quot;http://www.sciencedirect.com/science?_ob=ArticleURL&amp;amp;_udi=B6V4G-50WYSRF-1&amp;amp;_user=457521&amp;amp;_coverDate=08%2F30%2F2010&amp;amp;_rdoc=1&amp;amp;_fmt=high&amp;amp;_orig=search&amp;amp;_origin=search&amp;amp;_sort=d&amp;amp;_docanchor=&amp;amp;view=c&amp;amp;_searchStrId=1460129067&amp;amp;_rerunOrigin=google&amp;amp;_acct=C000021918&amp;amp;_version=1&amp;amp;_urlVersion=0&amp;amp;_userid=457521&amp;amp;md5=300097ad322f86c4e6a15f50380384d4&amp;amp;searchtype=a#aff1&quot;&gt;&lt;sup&gt;a&lt;/sup&gt;&lt;/a&gt;&lt;sup&gt;, &lt;/sup&gt;&lt;a name=&quot;bcor1&quot;&gt;&lt;/a&gt;&lt;a href=&quot;http://www.sciencedirect.com/science?_ob=ArticleURL&amp;amp;_udi=B6V4G-50WYSRF-1&amp;amp;_user=457521&amp;amp;_coverDate=08%2F30%2F2010&amp;amp;_rdoc=1&amp;amp;_fmt=high&amp;amp;_orig=search&amp;amp;_origin=search&amp;amp;_sort=d&amp;amp;_docanchor=&amp;amp;view=c&amp;amp;_searchStrId=1460129067&amp;amp;_rerunOrigin=google&amp;amp;_acct=C000021918&amp;amp;_version=1&amp;amp;_urlVersion=0&amp;amp;_userid=457521&amp;amp;md5=300097ad322f86c4e6a15f50380384d4&amp;amp;searchtype=a#cor1&quot;&gt;&lt;sup&gt;&lt;img src=&quot;http://www.sciencedirect.com/scidirimg/entities/REcor.gif&quot; alt=&quot;Corresponding Author Contact Information&quot; title=&quot;Corresponding Author Contact Information&quot; border=&quot;0&quot; /&gt;&lt;/sup&gt;&lt;/a&gt;&lt;sup&gt;, &lt;/sup&gt;&lt;a href=&quot;mailto:leejrr@jbnu.ac.kr&quot;&gt;&lt;sup&gt;&lt;img src=&quot;http://www.sciencedirect.com/scidirimg/entities/REemail.gif&quot; alt=&quot;E-mail The Corresponding Author&quot; title=&quot;E-mail The Corresponding Author&quot; border=&quot;0&quot; /&gt;&lt;/sup&gt;&lt;/a&gt;, &lt;a href=&quot;http://blog.shienandy.com/&quot;&gt;See Yenn Chong&lt;/a&gt;&lt;a href=&quot;http://www.sciencedirect.com/science?_ob=ArticleURL&amp;amp;_udi=B6V4G-50WYSRF-1&amp;amp;_user=457521&amp;amp;_coverDate=08%2F30%2F2010&amp;amp;_rdoc=1&amp;amp;_fmt=high&amp;amp;_orig=search&amp;amp;_origin=search&amp;amp;_sort=d&amp;amp;_docanchor=&amp;amp;view=c&amp;amp;_searchStrId=1460129067&amp;amp;_rerunOrigin=google&amp;amp;_acct=C000021918&amp;amp;_version=1&amp;amp;_urlVersion=0&amp;amp;_userid=457521&amp;amp;md5=300097ad322f86c4e6a15f50380384d4&amp;amp;searchtype=a#aff1&quot;&gt;&lt;sup&gt;a&lt;/sup&gt;&lt;/a&gt;, Chang-Yong Yun&lt;a href=&quot;http://www.sciencedirect.com/science?_ob=ArticleURL&amp;amp;_udi=B6V4G-50WYSRF-1&amp;amp;_user=457521&amp;amp;_coverDate=08%2F30%2F2010&amp;amp;_rdoc=1&amp;amp;_fmt=high&amp;amp;_orig=search&amp;amp;_origin=search&amp;amp;_sort=d&amp;amp;_docanchor=&amp;amp;view=c&amp;amp;_searchStrId=1460129067&amp;amp;_rerunOrigin=google&amp;amp;_acct=C000021918&amp;amp;_version=1&amp;amp;_urlVersion=0&amp;amp;_userid=457521&amp;amp;md5=300097ad322f86c4e6a15f50380384d4&amp;amp;searchtype=a#aff1&quot;&gt;&lt;sup&gt;a&lt;/sup&gt;&lt;/a&gt; and Dong-Jin Yoon&lt;a href=&quot;http://www.sciencedirect.com/science?_ob=ArticleURL&amp;amp;_udi=B6V4G-50WYSRF-1&amp;amp;_user=457521&amp;amp;_coverDate=08%2F30%2F2010&amp;amp;_rdoc=1&amp;amp;_fmt=high&amp;amp;_orig=search&amp;amp;_origin=search&amp;amp;_sort=d&amp;amp;_docanchor=&amp;amp;view=c&amp;amp;_searchStrId=1460129067&amp;amp;_rerunOrigin=google&amp;amp;_acct=C000021918&amp;amp;_version=1&amp;amp;_urlVersion=0&amp;amp;_userid=457521&amp;amp;md5=300097ad322f86c4e6a15f50380384d4&amp;amp;searchtype=a#aff2&quot;&gt;&lt;sup&gt;b&lt;/sup&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;   &lt;div style=&quot;display: inline; font-family: arial;&quot; class=&quot;articleText authorsNoEnt&quot;&gt; &lt;p&gt;&lt;a name=&quot;aff1&quot;&gt;&lt;/a&gt;&lt;sup&gt;a&lt;/sup&gt; Department of Aerospace Engineering,  Chonbuk National University, 664-14 Duckjin-dong, Duckjin-gu, Jeonju,  Chonbuk 561-756, Republic of Korea&lt;/p&gt;&lt;p&gt;&lt;a name=&quot;aff2&quot;&gt;&lt;/a&gt;&lt;sup&gt;b&lt;/sup&gt;  Safety Measurement Center, Korea Research Institute of Standards and  Science, 209 Gajeong-ro Yuseong-gu, Daejeon, Republic of Korea&lt;/p&gt; &lt;/div&gt;  &lt;div style=&quot;display: inline; font-family: arial;&quot; class=&quot;articleText&quot;&gt; Received 5 June 2010;  &lt;/div&gt;&lt;div style=&quot;display: inline; font-family: arial;&quot; class=&quot;articleText&quot;&gt;revised 17 July 2010;  &lt;/div&gt;&lt;div style=&quot;display: inline; font-family: arial;&quot; class=&quot;articleText&quot;&gt;accepted 15 August 2010.  &lt;/div&gt;&lt;div style=&quot;display: inline; font-family: arial;&quot; class=&quot;articleText&quot;&gt;Available online 30 August 2010.  &lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;display: inline; font-family: arial;&quot; class=&quot;articleText&quot;&gt;&lt;div class=&quot;articleText_indent&quot;&gt; &lt;h3 class=&quot;h3&quot;&gt;Abstract&lt;/h3&gt;&lt;a name=&quot;sp0065&quot;&gt;&lt;/a&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;A fiber Bragg  grating (FBG) sensor head, using a pressure coupling mechanism, was  designed for broadband frequency response and structural strain-free  characteristic. The pressure-coupled sensor heads were connected to a  simultaneous multipoint acoustic sensing system based on a tunable  laser. An intelligent lasing wavelength stabilization algorithm capable  of identifying the direction of spectrum movement, the wavelength  shifting speed, and a fiber bending event was developed so that the  simultaneous multipoint acoustic sensing system could be used in  environments with rapid temperature variations. The lasing wavelength  feedback control algorithm updated the lasing wavelength into the steep  slope of the FBG spectrum even under conditions of rapid temperature  change. The averaging lasing wavelength updating time was only 21 s  because the system can decide a minimal size in scan window by finding  the FBG spectrum shifting speed and direction in real time. The system  was able to update the lasing wavelength which missed the steep slope of  the FBG spectrum under maximum temperature variation rates 0.3014 and  −0.3246 °C/s. The proposed system detected simultaneous impact waves at  multiple points under conditions of rapid temperature change and change  in dynamic strain.&lt;/p&gt; &lt;/div&gt;&lt;/div&gt;  &lt;div style=&quot;display: inline; font-family: arial;&quot; class=&quot;articleText&quot;&gt; &lt;p&gt;&lt;strong&gt;Keywords: &lt;/strong&gt;Fiber Bragg grating; Tunable laser; Lasing wavelength stabilization; Integrated structural health management; Acoustic emission&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Note: &lt;/span&gt;The journal paper has published in&lt;span style=&quot;text-decoration: underline;&quot;&gt; &lt;a href=&quot;http://www.sciencedirect.com/science?_ob=ArticleURL&amp;amp;_udi=B6V4G-50WYSRF-1&amp;amp;_user=457521&amp;amp;_coverDate=08%2F30%2F2010&amp;amp;_rdoc=1&amp;amp;_fmt=high&amp;amp;_orig=search&amp;amp;_origin=search&amp;amp;_sort=d&amp;amp;_docanchor=&amp;amp;view=c&amp;amp;_searchStrId=1460129067&amp;amp;_rerunOrigin=google&amp;amp;_acct=C000021918&amp;amp;_version=1&amp;amp;_urlVersion=0&amp;amp;_userid=457521&amp;amp;md5=300097ad322f86c4e6a15f50380384d4&amp;amp;searchtype=a&quot;&gt;Optics and Lasers in Engineering&lt;/a&gt; (impact factor 1.262, 2010)&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.shienandy.com/feeds/4404514615411327266/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2015554925949845258/4404514615411327266' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2015554925949845258/posts/default/4404514615411327266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2015554925949845258/posts/default/4404514615411327266'/><link rel='alternate' type='text/html' href='http://blog.shienandy.com/2010/09/lasing-wavelength-stabilized.html' title='A lasing wavelength stabilized simultaneous multipoint acoustic sensing system using pressure-coupled fiber Bragg gratings'/><author><name>Andy</name><uri>http://www.blogger.com/profile/02413211813827578740</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqJ3NhbxqU4vGu3sVqHp8j3jHxWOvOqwkG-QlE8OF912wePhMikqV2r2wfK0vlDbsX3LToJ7vEW17Kgp6WMRgOhBdyFNu2cIZyZwmBM4rG5XMVt9OaSj6ICvO0jj7AZw/s220/WP_20161217_10_10_46_Pro.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2015554925949845258.post-5470338742775324303</id><published>2010-09-02T22:56:00.001+09:00</published><updated>2010-09-02T23:02:08.450+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Technology"/><category scheme="http://www.blogger.com/atom/ns#" term="Video"/><title type='text'>This is our future: Wireless electricity</title><content type='html'>&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;   style=&quot;  ;font-family:arial, helvetica, sans-serif;font-size:10px;&quot;&gt;&lt;h1   style=&quot;margin-top: 5px; margin-right: 0px; margin-bottom: 13px; margin-left: 7px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;   color: rgb(0, 0, 0); min-height: 0px; font-weight: normal; width: auto; font-family:arial, helvetica, sans-serif;font-size:2.4em;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot;   style=&quot;  ;font-family:Georgia, serif;font-size:16px;&quot;&gt;&lt;object width=&quot;446&quot; height=&quot;326&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://video.ted.com/assets/player/swf/EmbedPlayer.swf&quot;&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;&gt;&lt;param name=&quot;wmode&quot; value=&quot;transparent&quot;&gt;&lt;param name=&quot;bgColor&quot; value=&quot;#ffffff&quot;&gt; &lt;param name=&quot;flashvars&quot; value=&quot;vu=http://video.ted.com/talks/dynamic/EricGiler_2009G-medium.flv&amp;amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/EricGiler-2009G.embed_thumbnail.jpg&amp;amp;vw=432&amp;amp;vh=240&amp;amp;ap=0&amp;amp;ti=619&amp;amp;introDuration=15330&amp;amp;adDuration=4000&amp;amp;postAdDuration=830&amp;amp;adKeys=talk=eric_giler_demos_wireless_electricity;year=2009;theme=what_s_next_in_tech;theme=the_creative_spark;theme=tales_of_invention;event=TEDGlobal+2009;&amp;amp;preAdTag=tconf.ted/embed;tile=1;sz=512x288;&quot;&gt;&lt;embed src=&quot;http://video.ted.com/assets/player/swf/EmbedPlayer.swf&quot; pluginspace=&quot;http://www.macromedia.com/go/getflashplayer&quot; type=&quot;application/x-shockwave-flash&quot; wmode=&quot;transparent&quot; bgcolor=&quot;#ffffff&quot; width=&quot;446&quot; height=&quot;326&quot; allowfullscreen=&quot;true&quot; allowscriptaccess=&quot;always&quot; flashvars=&quot;vu=http://video.ted.com/talks/dynamic/EricGiler_2009G-medium.flv&amp;amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/EricGiler-2009G.embed_thumbnail.jpg&amp;amp;vw=432&amp;amp;vh=240&amp;amp;ap=0&amp;amp;ti=619&amp;amp;introDuration=15330&amp;amp;adDuration=4000&amp;amp;postAdDuration=830&amp;amp;adKeys=talk=eric_giler_demos_wireless_electricity;year=2009;theme=what_s_next_in_tech;theme=the_creative_spark;theme=tales_of_invention;event=TEDGlobal+2009;&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/span&gt;&lt;/h1&gt;&lt;/span&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.shienandy.com/feeds/5470338742775324303/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2015554925949845258/5470338742775324303' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2015554925949845258/posts/default/5470338742775324303'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2015554925949845258/posts/default/5470338742775324303'/><link rel='alternate' type='text/html' href='http://blog.shienandy.com/2010/09/this-is-our-future-wireless-electricity.html' title='This is our future: Wireless electricity'/><author><name>Andy</name><uri>http://www.blogger.com/profile/02413211813827578740</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqJ3NhbxqU4vGu3sVqHp8j3jHxWOvOqwkG-QlE8OF912wePhMikqV2r2wfK0vlDbsX3LToJ7vEW17Kgp6WMRgOhBdyFNu2cIZyZwmBM4rG5XMVt9OaSj6ICvO0jj7AZw/s220/WP_20161217_10_10_46_Pro.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2015554925949845258.post-6964481456036070434</id><published>2009-09-05T16:14:00.001+09:00</published><updated>2009-09-05T16:18:03.405+09:00</updated><title type='text'>I’m back!!!</title><content type='html'>&lt;p align=&quot;justify&quot;&gt;&lt;img style=&quot;border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px&quot; height=&quot;58&quot; alt=&quot;&quot; src=&quot;http://www.zu14.cn/coolemotion/emotions/round_12.gif&quot; width=&quot;58&quot; border=&quot;0&quot; /&gt; &lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;That is very long did not update my blog due to my tight schedules on my holidays (with my wife at Malaysia and Seoul), research, and paper writing (the most headache).&lt;/p&gt;  &lt;p align=&quot;justify&quot;&gt;Time passes very fast and it was already 1 year and 3 weeks staying in South Korea for my study. Now, I’m in my 2nd year Master’s degree course and the feeling is totally different as compared to my 1st year course. &lt;/p&gt;  </content><link rel='replies' type='application/atom+xml' href='http://blog.shienandy.com/feeds/6964481456036070434/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2015554925949845258/6964481456036070434' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2015554925949845258/posts/default/6964481456036070434'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2015554925949845258/posts/default/6964481456036070434'/><link rel='alternate' type='text/html' href='http://blog.shienandy.com/2009/09/im-back.html' title='I’m back!!!'/><author><name>Andy</name><uri>http://www.blogger.com/profile/02413211813827578740</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqJ3NhbxqU4vGu3sVqHp8j3jHxWOvOqwkG-QlE8OF912wePhMikqV2r2wfK0vlDbsX3LToJ7vEW17Kgp6WMRgOhBdyFNu2cIZyZwmBM4rG5XMVt9OaSj6ICvO0jj7AZw/s220/WP_20161217_10_10_46_Pro.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2015554925949845258.post-3184793217211325763</id><published>2008-12-24T18:05:00.004+09:00</published><updated>2008-12-24T18:15:12.166+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="KOREA"/><category scheme="http://www.blogger.com/atom/ns#" term="LabVIEW"/><category scheme="http://www.blogger.com/atom/ns#" term="Research"/><title type='text'>LabVIEW State Machine Basic Example</title><content type='html'>&lt;div style=&quot;text-align: justify;&quot;&gt;The following video clips are showing how we can use &lt;a href=&quot;http://www.blogger.com/blog.shienandy.com&quot;&gt;state machine&lt;/a&gt; method to control &lt;a href=&quot;http://www.blogger.com/blog.shienandy.com&quot;&gt;vending machine&lt;/a&gt;. By the way, I post this because I&#39;m just starting to learn state machine for my research.... hehehe Thus, I would like to share with this examples which I found it very useful for beginner.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;center&gt;&lt;object height=&quot;267&quot; width=&quot;400&quot;&gt;&lt;param name=&quot;allowfullscreen&quot; value=&quot;true&quot;&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://vimeo.com/moogaloop.swf?clip_id=1878188&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1&quot;&gt;&lt;embed src=&quot;http://vimeo.com/moogaloop.swf?clip_id=1878188&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1&quot; type=&quot;application/x-shockwave-flash&quot; allowfullscreen=&quot;true&quot; allowscriptaccess=&quot;always&quot; height=&quot;267&quot; width=&quot;400&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;a href=&quot;http://vimeo.com/1878188&quot;&gt;LabView State Based Machine Tutorial pt1&lt;/a&gt; from &lt;a href=&quot;http://vimeo.com/labviewtutorials&quot;&gt;LabView Tutorials&lt;/a&gt; on &lt;a href=&quot;http://vimeo.com/&quot;&gt;Vimeo&lt;/a&gt;.&lt;/span&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;object height=&quot;225&quot; width=&quot;400&quot;&gt;&lt;param name=&quot;allowfullscreen&quot; value=&quot;true&quot;&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://vimeo.com/moogaloop.swf?clip_id=1512935&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1&quot;&gt;&lt;embed src=&quot;http://vimeo.com/moogaloop.swf?clip_id=1512935&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1&quot; type=&quot;application/x-shockwave-flash&quot; allowfullscreen=&quot;true&quot; allowscriptaccess=&quot;always&quot; height=&quot;225&quot; width=&quot;400&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;a href=&quot;http://vimeo.com/1512935&quot;&gt;LabView State Based Machine Tutorial pt 2&lt;/a&gt; from &lt;a href=&quot;http://vimeo.com/labviewtutorials&quot;&gt;LabView Tutorials&lt;/a&gt; on &lt;a href=&quot;http://vimeo.com/&quot;&gt;Vimeo&lt;/a&gt;.&lt;/span&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;object height=&quot;225&quot; width=&quot;400&quot;&gt;&lt;param name=&quot;allowfullscreen&quot; value=&quot;true&quot;&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://vimeo.com/moogaloop.swf?clip_id=1514016&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1&quot;&gt;&lt;embed src=&quot;http://vimeo.com/moogaloop.swf?clip_id=1514016&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1&quot; type=&quot;application/x-shockwave-flash&quot; allowfullscreen=&quot;true&quot; allowscriptaccess=&quot;always&quot; height=&quot;225&quot; width=&quot;400&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;a href=&quot;http://vimeo.com/1514016&quot;&gt;LabView State Based Machine Tutorial pt 3&lt;/a&gt; from &lt;a href=&quot;http://vimeo.com/labviewtutorials&quot;&gt;LabView Tutorials&lt;/a&gt; on &lt;a href=&quot;http://vimeo.com/&quot;&gt;Vimeo&lt;/a&gt;.&lt;/span&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;object height=&quot;225&quot; width=&quot;400&quot;&gt;&lt;param name=&quot;allowfullscreen&quot; value=&quot;true&quot;&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://vimeo.com/moogaloop.swf?clip_id=1548957&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1&quot;&gt;&lt;embed src=&quot;http://vimeo.com/moogaloop.swf?clip_id=1548957&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1&quot; type=&quot;application/x-shockwave-flash&quot; allowfullscreen=&quot;true&quot; allowscriptaccess=&quot;always&quot; height=&quot;225&quot; width=&quot;400&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;a href=&quot;http://vimeo.com/1548957&quot;&gt;LabView State Based Machine Tutorial pt 4&lt;/a&gt; from &lt;a href=&quot;http://vimeo.com/labviewtutorials&quot;&gt;LabView Tutorials&lt;/a&gt; on &lt;a href=&quot;http://vimeo.com/&quot;&gt;Vimeo&lt;/a&gt;.&lt;/span&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;object height=&quot;225&quot; width=&quot;400&quot;&gt;&lt;param name=&quot;allowfullscreen&quot; value=&quot;true&quot;&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://vimeo.com/moogaloop.swf?clip_id=1547844&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1&quot;&gt;&lt;embed src=&quot;http://vimeo.com/moogaloop.swf?clip_id=1547844&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1&quot; type=&quot;application/x-shockwave-flash&quot; allowfullscreen=&quot;true&quot; allowscriptaccess=&quot;always&quot; height=&quot;225&quot; width=&quot;400&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;a href=&quot;http://vimeo.com/1547844&quot;&gt;LabView State Based Machine Tutorial pt 5&lt;/a&gt; from &lt;a href=&quot;http://vimeo.com/labviewtutorials&quot;&gt;LabView Tutorials&lt;/a&gt; on &lt;a href=&quot;http://vimeo.com/&quot;&gt;Vimeo&lt;/a&gt;.&lt;/span&gt;&lt;/center&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;object height=&quot;225&quot; width=&quot;400&quot;&gt;&lt;param name=&quot;allowfullscreen&quot; value=&quot;true&quot;&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://vimeo.com/moogaloop.swf?clip_id=1648932&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1&quot;&gt;&lt;embed src=&quot;http://vimeo.com/moogaloop.swf?clip_id=1648932&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=&amp;amp;fullscreen=1&quot; type=&quot;application/x-shockwave-flash&quot; allowfullscreen=&quot;true&quot; allowscriptaccess=&quot;always&quot; height=&quot;225&quot; width=&quot;400&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;span style=&quot;font-size:85%;&quot;&gt;&lt;a href=&quot;http://vimeo.com/1648932&quot;&gt;LabView State Based Machine Tutorial pt6&lt;/a&gt; from &lt;a href=&quot;http://vimeo.com/labviewtutorials&quot;&gt;LabView Tutorials&lt;/a&gt; on &lt;a href=&quot;http://vimeo.com/&quot;&gt;Vimeo&lt;/a&gt;.&lt;/span&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Hope it helps u...</content><link rel='replies' type='application/atom+xml' href='http://blog.shienandy.com/feeds/3184793217211325763/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2015554925949845258/3184793217211325763' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2015554925949845258/posts/default/3184793217211325763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2015554925949845258/posts/default/3184793217211325763'/><link rel='alternate' type='text/html' href='http://blog.shienandy.com/2008/12/labview-state-machine-basic-example.html' title='LabVIEW State Machine Basic Example'/><author><name>Andy</name><uri>http://www.blogger.com/profile/02413211813827578740</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqJ3NhbxqU4vGu3sVqHp8j3jHxWOvOqwkG-QlE8OF912wePhMikqV2r2wfK0vlDbsX3LToJ7vEW17Kgp6WMRgOhBdyFNu2cIZyZwmBM4rG5XMVt9OaSj6ICvO0jj7AZw/s220/WP_20161217_10_10_46_Pro.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2015554925949845258.post-6402443777839009496</id><published>2008-10-24T12:46:00.003+09:00</published><updated>2008-10-24T12:52:09.199+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="My Philosophy"/><category scheme="http://www.blogger.com/atom/ns#" term="Quotes"/><title type='text'>Nice Quotes</title><content type='html'>Nice Quotes (Unfortunately in Mandarin)&lt;br /&gt;&lt;br /&gt;1. 你做的东西是不是都是你认为对的，却不一定是对的。&lt;br /&gt;&lt;br /&gt;2. 是否是因为我们从未想过要放弃我们手中已经拥有的优势（车钥匙）? 有时，如果我们能放弃一些我们的固执，狭隘，和 &lt;br /&gt;   一些优势的话，我们可能会得到更多。&lt;br /&gt;&lt;br /&gt;3. 想改变世界，很难；要改变自己，则较为容易。&lt;br /&gt;   与其改变全世界，不如先改变自己--「将自己的双脚包起来」。&lt;br /&gt;   改变自己的某些观念和作法，以抵御外来的侵袭。&lt;br /&gt;   当自己改变后，眼中的世界自然也就跟着改变了。&lt;br /&gt;   如果你希望看到世界改变，那么第一个必须改变的就是自己。&lt;br /&gt;&lt;br /&gt;4. 「心若改变，态度就会改变；态度改变，习惯就改变；习惯改变，人生就会改变。」</content><link rel='replies' type='application/atom+xml' href='http://blog.shienandy.com/feeds/6402443777839009496/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2015554925949845258/6402443777839009496' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2015554925949845258/posts/default/6402443777839009496'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2015554925949845258/posts/default/6402443777839009496'/><link rel='alternate' type='text/html' href='http://blog.shienandy.com/2008/10/nice-quotes.html' title='Nice Quotes'/><author><name>Andy</name><uri>http://www.blogger.com/profile/02413211813827578740</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqJ3NhbxqU4vGu3sVqHp8j3jHxWOvOqwkG-QlE8OF912wePhMikqV2r2wfK0vlDbsX3LToJ7vEW17Kgp6WMRgOhBdyFNu2cIZyZwmBM4rG5XMVt9OaSj6ICvO0jj7AZw/s220/WP_20161217_10_10_46_Pro.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2015554925949845258.post-1567947238837213618</id><published>2008-09-08T20:04:00.010+09:00</published><updated>2019-01-30T19:50:44.179+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Dream"/><category scheme="http://www.blogger.com/atom/ns#" term="KOREA"/><category scheme="http://www.blogger.com/atom/ns#" term="My Dream"/><category scheme="http://www.blogger.com/atom/ns#" term="My Philosophy"/><category scheme="http://www.blogger.com/atom/ns#" term="My Story"/><title type='text'>Nice Quotes from Albert Einstein</title><content type='html'>They help me and wise my thoughts .... Are they help you also?&lt;br /&gt;
&lt;br /&gt;
&lt;style&gt;&lt;/style&gt;&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-style: italic; margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-size: 100%;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif; line-height: 115%;&quot;&gt;Try not to become a man of success but rather to become a man of value.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-style: italic; margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-size: 100%;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif; line-height: 115%;&quot;&gt;&lt;span style=&quot;color: rgb(204 , 51 , 204);&quot;&gt;Truth is what stands the test of experience.&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-style: italic; margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-size: 100%;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif; line-height: 115%;&quot;&gt;The secret to creativity is knowing how to hide your sources.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;color: #cc33cc; font-style: italic; margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-size: 100%;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif; line-height: 115%;&quot;&gt;The important thing is not to stop questioning. Curiosity has its own reason for existing. One cannot help but be in awe when he contemplates the mysteries of eternity, of life, of the marvelous structure of reality. It is enough if one tries merely to comprehend a little of this mystery every day. Never lose a holy curiosity.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-style: italic; margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-size: 100%;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif; line-height: 115%;&quot;&gt;The important thing is not to stop questioning.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;color: #cc33cc; font-style: italic; margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-size: 100%;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif; line-height: 115%;&quot;&gt;Reading, after a certain age, diverts the mind too much from its creative pursuits. Any man who reads too much and uses his own brain too little falls into lazy habits of thinking.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-style: italic; margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-size: 100%;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif; line-height: 115%;&quot;&gt;I never think of the future - it comes soon enough.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-style: italic; margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-size: 100%;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif; line-height: 115%;&quot;&gt;&lt;span style=&quot;color: rgb(204 , 51 , 204);&quot;&gt;I believe in intuition and inspiration. Imagination is more important than knowledge. For knowledge is limited, whereas imagination embraces the entire world, stimulating progress, giving birth to evolution. It is, strictly speaking, a real factor in scientific research.  &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;font-style: italic; margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-size: 100%;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif; line-height: 115%;&quot;&gt;Equations are more important to me, because politics is for the present, but an equation is something for eternity.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;color: #cc33cc; font-style: italic;&quot;&gt;
&lt;span style=&quot;font-size: 100%;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: Helvetica Neue, Arial, Helvetica, sans-serif; line-height: 115%;&quot;&gt;If A is a success in life, then A equals x plus y plus z. Work is x; y is play; and z is keeping your mouth shut.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;a href=&quot;https://www.blogger.com/blog.shienandy.com&quot;&gt;Albert Einstein&lt;/a&gt;&lt;br /&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;o:p&gt; &lt;/o:p&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;i&gt;US (German-born) physicist (1879 - 1955)&lt;/i&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;o:p&gt; &lt;/o:p&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: justify;&quot;&gt;
Wish you all like it. Some times when I read it, it really make me feel better ans wise up my mind especially I face some problems in any things.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://blog.shienandy.com/feeds/1567947238837213618/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/2015554925949845258/1567947238837213618' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2015554925949845258/posts/default/1567947238837213618'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2015554925949845258/posts/default/1567947238837213618'/><link rel='alternate' type='text/html' href='http://blog.shienandy.com/2008/09/nice-quotes-from-albert-einstein.html' title='Nice Quotes from Albert Einstein'/><author><name>Andy</name><uri>http://www.blogger.com/profile/02413211813827578740</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='18' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqJ3NhbxqU4vGu3sVqHp8j3jHxWOvOqwkG-QlE8OF912wePhMikqV2r2wfK0vlDbsX3LToJ7vEW17Kgp6WMRgOhBdyFNu2cIZyZwmBM4rG5XMVt9OaSj6ICvO0jj7AZw/s220/WP_20161217_10_10_46_Pro.jpg'/></author><thr:total>0</thr:total></entry></feed>