¿Cuál es la diferencia entre las funciones `A ‘y` W` en la API de Win32?

¿Cuál es la diferencia al llamar a la función API de Win32 que tiene un carácter A agregado al final en oposición al carácter W ?

Sé que significa ASCII y WIDE CHARACTER o Unicode, pero ¿cuál es la diferencia en la salida o la entrada?

Por ejemplo, si llamo GetDefaultCommConfigA, ¿rellenará mi estructura COMMCONFIG con cadenas ASCII en lugar de cadenas WCHAR? (O viceversa para GetDefaultCommConfigW)

En otras palabras, ¿cómo sé en qué está codificada la encoding, ASCII o UNICODE, debe ser por la versión de la función que llamo A o W ? ¿Correcto?

He encontrado esta pregunta , pero no creo que responda mi pregunta.

Las funciones A usan cadenas de Ansi (no ASCII) como entrada y salida, y las funciones W usan cadenas Unicode en su lugar (UCS-2 en NT4 y versiones anteriores, UTF-16 en W2K y posteriores). Consulte MSDN para más detalles.