title: PCWSTR vs LPWSTR
body: <p>It is my understanding (and please correct me if I'm wrong) that the only difference between them is whether the string might be modified by the called function. (<a href="http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751%28v=vs.85%29.aspx#PCWSTR" rel="noreferrer">PCWSTR</a> , <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/aa383751%28v=vs.85%29.aspx#LPWSTR" rel="noreferrer">LPWSTR</a>)</p>
  
  <p>I am now trying to pass a string from C# to a function expecting a <strong>PCWSTR</strong>, but all I can find is <code>[MarshalAs(UnmanagedType.LPWStr)]</code>. Am I correct that that is fine? (Yes, it <em>works</em>. That, though, is not a proof that it's fine. Some things <em>work</em> but then cause memory leaks etc.)</p>