C#调用C++接口,关于参数传值
Long WINAPI okReadRectEx(HANDLE hBoard, TARGET src, \long start, LPBYTE lpBuf, LPARAM lParam);
功能:从源目标体指定帧位置(帧序号)读一窗口(RECT)图象数据到用户
内存缓存区。这里的源目标体可以是VGA屏幕(SCREEN),帧缓存
(BUFFER),帧存体(FRAME)。并可指定在读取时是否进行位转
换、基色通道抽取或单通道扩展。
参数:hBoard:输入卡句柄。
src: 数据源目标体。
start: 数据源目标体的要读窗口所在帧序号(起始为0)。
lpBuf: 用户内存缓存区指针。
LParam: 读取方式参数。
1.其低字LOWORD(lParam)为用户申请的lpBuf的位数格式码
(如:FORM_GRAY8等),如为零则默认为与源目标体相同。
2.HIWORD(lParam) 为基色通道抽取或单通道扩展的模式。分为两
种情况:
情况 A ,即源是彩色(如 24 位)目的是 8 位黑白:
HIWORD(lParam)=0为读取红绿兰三通道的平均值;=1为只读取红色
通道数据;=2为只读取绿色通道数据;=3为只读取兰色通道数据。
情况B,即源是8位黑白而目的是彩色:=0为将三基色都置成相
同的黑白数据;=1为只读源数据到lpBuf的红色通道;=2为只读源数据
到lpBuf的绿色通道;=3为只读源数据到lpBuf的兰色通道。
例如:当情况A时,lParam=MAKELONG(FORM_GRAY8,1),数据
源的格式为24位,即从24位数据源中只读出8位红基色数据顺序存放在
lpBuf中。
以上为编程文档.
现在用到情况B:源是8位黑白而目的是彩色,存放在lpBuf中。
请问如何传最后一个参数LPARAM lParam?
第一次做C#调用C++的接口,诸多不会,希望有人指点一下,谢谢了 --------------------编程问答-------------------- 最后一个是okReadRectEx函数的附加消息,可能从其关联线程获得。在C#里面可以视为unit 类型或者是int
补充:.NET技术 , C#