OSError <span style="font-family:Menlo;font-size:11px">NewSomeApiPtr (</span>ref IntPtr);<br><br><div class="gmail_quote">On Thu, Apr 19, 2012 at 8:09 PM, Chris McKinnon <span dir="ltr"><<a href="mailto:crmckinnon@shaw.ca">crmckinnon@shaw.ca</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">Hi,<div><br></div><div>I'm writing some new code that is calling through to native Mac OS libraries.  For the most part I've found IntPtr works well for getting back values.  How do you handle getting back a Handle (a pointer to a pointer)?  For example:</div>
<div><br></div><div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Menlo"><span style="color:#b933a1">struct</span> SomeApiRecord {</div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Menlo">
  <span style="color:#b933a1">long</span>                data[<span style="color:#2934d5">1</span>];</div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Menlo">
};</div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Menlo"><span style="color:#b933a1">typedef</span> <span style="color:#b933a1">struct </span> SomeApiRecord      SomeApiRecord;</div>
<div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Menlo"><span style="color:#b933a1">typedef </span> SomeApiRecord *           SomeApiPtr;</div></div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Menlo">
<br></div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Menlo"><font face="Helvetica" size="3">Then the function calls might be:</font></div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Menlo">
<br></div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Menlo">OSError NewSomeApiPtr(SomeApiPtr* ptr);</div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Menlo">
OSError DoSomething(SomeApiPtr ptr);</div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Menlo">OSError DisposeSomeApiPtr(SomeApiPtr ptr);</div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Menlo">
<font face="Helvetica"><br></font></div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Menlo"><font face="Helvetica" size="3">Only the "New" call returns a handle.  The rest use a pointer.  Any help would be appreciated.</font></div>
<div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Menlo"><font face="Helvetica" size="3"><br></font></div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Menlo">
<font face="Helvetica" size="3">Thanks,</font></div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Menlo"><font face="Helvetica" size="3"><br></font></div>
<div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;font:normal normal normal 11px/normal Menlo"><font face="Helvetica" size="3">Chris McKinnon</font></div></div><br>_______________________________________________<br>

Mono-osx mailing list<br>
<a href="mailto:Mono-osx@lists.ximian.com">Mono-osx@lists.ximian.com</a><br>
<a href="http://lists.ximian.com/mailman/listinfo/mono-osx" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-osx</a><br>
<br></blockquote></div><br>