我知道(例如)aDWORD是什么,它是一个四字节无符号长整数。
但是DWORD *在参数名前加星号意味着什么,如下所示:

HRESULT UrlUnescape(
  __inout      PTSTR pszURL,
  __out_opt    PTSTR pszUnescaped,
  __inout_opt  DWORD *pcchUnescaped,
  DWORD dwFlags
);

更新
我突然意识到,我有一些额外的暗示,这是一个指针。第一个是参数名以p开头,另一个是它是一个in/out参数,被调用方改变调用方变量值的唯一方法是传递指针而不是值当然,字符串也是指针,它们不使用星号,但这是因为字符串不能按值传递,所以它是多余的,而整数当然可以按值传递(通常是这样)。

最佳答案

这意味着pcchUnescaped是指向DWORD类型对象的指针。这是正常的C语言,与Windows API没有特别的关系。

关于c - Windows API声明中的数据类型上的星号是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5968632/

10-12 16:12