MSDN中的[in]和[out]是什么意思?

问题描述:

MSDN中的[in]和[out]是什么意思?
lpMsg[out]
……
hWnd[in]
……
这里面的[in]和[out]是什么意思啊?
这是在API函数中的GetMessage函数参数说明中截取的一小段

in表示这个参数是传入到某个函数里,是函数内部所需要的数据.是从外面传给函数的,所以是in
out表示这个参数传给函数之后,函数会对这个参数进行加工处理,处理之后就是你需要的数据,也就是相当于是从函数内部出来的才是有效数据,所以是out.
比如
void set_xxx(char* p)
{
p[0] = 'a';
p[1] = 'b';
}
这个p就可以认为是out类型的参数,因为p传给函数之后,p指向的数据会被函数改变(加工),加工之后的数据就是我们想要的数据.