title: What is the difference between the `A` and `W` functions in the Win32 API?
body: <p>What is the difference in calling the Win32 API function that have an <code>A</code> character appended to the end as opposed to the <code>W</code> character.</p>
  
  <p>I know it means <code>ASCII</code> and <code>WIDE CHARACTER</code> or Unicode, but what is the difference in the output or the input?</p>
  
  <p>For example, If I call GetDefaultCommConfigA, will it fill my COMMCONFIG structure with ASCII strings instead of WCHAR strings?  (Or vice-versa for GetDefaultCommConfigW)</p>
  
  <p>In other words, how do I know what Encoding the string is in, ASCII or UNICODE, it <em>must</em> be by the version of the function I call <code>A</code> or <code>W</code>? Correct?</p>
  
  <p>I have found this <a href="https://stackoverflow.com/questions/4143110/what-encoding-win32-api-functions-expect">question</a>, but I don't think it answers my question.</p>