我知道(例如)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/