title: How to marshall a LPCWSTR to String in C#?
body: <p>I'm trying to define a P/Invoke signature for the following method (defined in <code>propsys.h</code>)</p>
  
  <pre><code>PSSTDAPI PSRegisterPropertySchema(
      __in PCWSTR pszPath);
  </code></pre>
  
  <p>I've seen on the <code>WinNT.h</code> that <code>PCWSTR</code> is an alias to <code>LPCWSTR</code> as</p>
  
  <pre><code>typedef __nullterminated CONST WCHAR *LPCWSTR, *PCWSTR;
  </code></pre>
  
  <p>And the <code>PSSTDAPI</code> is an alias for <code>HRESULT</code></p>
  
  <p>So how should be the P/Invoke signature for the <code>PSRegisterPropertySchema</code> method?</p>