为什么 UuidFromString 函数请求指向 unsigned char 的非常量指针?

αλε*_*λυτ 5 c++ winapi constants

我不知道为什么UuidFromString函数需要指向unsigned char 的非常量指针。为什么不呢?const char*

我的想法是不需要对第一个参数指出的数据进行修改。

Zac*_*and 0

UuidFromString是为 COM/DCOM 设计的。

unsigned char是为了防止需要检查负值char(默认值为charsigned表示值范围为 [-128, 127] - 因为该字符串应该是 ANSI 字符,所以这是避免条件检查的廉价方法< 0)。

它的姊妹函数 ( UuidToString) 确实需要一个const输入参数。我在文档中没有看到为什么UuidFromString不这样做的原因,但这可能是一个从未得到解决的疏忽。