title: How to marshall LPSTR** in .NET?
body: <p>I have a method in unmaged COM object which I'm trying to marshall:</p>
  
  <pre><code>STDMETHOD(SomeMethod)(LPSTR** items, INT* numOfItems) = 0;
  </code></pre>
  
  <p>But I can't figure out the right way to marshal out LPSTR** items. It's supposed to be a list of items. However if try to do something like this:</p>
  
  <pre><code>[PreserveSig] 
  int SomeMethod([MarshalAs(UnmanagedType.LPStr)]ref StringBuilder items, ref uint numOfItems);
  </code></pre>
  
  <p>I only get the very first letter of the very first item and nothing else.</p>
  
  <p>How can I marshal LPSTR** variable correctly? </p>