调用以A
字符结尾的Win32 API函数与调用以W
字符结尾的函数有什么区别?
我知道A
代表ASCII编码,W
代表宽字符或Unicode编码,但输出或输入的差异在哪里?
例如,如果我调用GetDefaultCommConfigA,它会使用ASCII字符串而不是WCHAR字符串填充我的COMMCONFIG结构吗? (对于GetDefaultCommConfigW相反)
换句话说,我如何知道字符串的编码是ASCII还是UNICODE?必须根据我调用的函数版本A
或W
来确定吗?对吗?
我找到了这个问题,但我认为它没有回答我的问题。
GetVolumeInformation
,它会被静默地重命名为GetVolumeInformationA
或者GetVolumeInformationW
。使用IDE查找定义将会带你到宏定义处,而不是函数。 - Mark RansomA
/W
语义。这些也适用于ExA
/ExW
函数,它们通常只是早期A
/W
函数的 "Ex" 扩展版本。 - Remy Lebeau