读书人

VC里面看不懂的三句话!解决方法

发布时间: 2012-02-26 20:19:44 作者: rapoo

VC里面看不懂的三句话!

HLOCAL hTempImgData ; //HLOCAL ??
LPBITMAPINFOHEADER lpImgData , lpTempImgData;

问题1:LocalAlloc(LHND,480000)???
hTempImgData=LocalAlloc(LHND,480000);

问题2:GlobalLock??
lpImgData= (LPBITMAPINFOHEADER)GlobalLock(hImgData);

问题3:LocalLock??
lpTempImgData=(LPBITMAPINFOHEADER)LocalLock(hTempImgData);

以上三句话真的看不明白!请各位指点!

[解决办法]
LocalAlloc与GlobalAlloc都是用来heap内存分配空间的,
区别主要是前者是局域分配,适宜于小空间分配,这与near pointer相似。
(在dos中可访问或分配高区,即: <640K)
后者指全内存空间分配,适宜于大空间,与far pointer相似。(> 640K).
[解决办法]
LocalAlloc(LHND,480000)
为LHND句柄分配480000字节内存
GlobalLock
参数为句柄,返回关联这个句柄的内存指针.同时锁住该句柄,不让其它程序使用,
使用后必须用GlobalUnLock释放句柄,之前返回的指针也将失去作用.
LocalLock
和上面一个应该只是全局和局部之分,
记的也不是很清楚,楼主可以看看MSDN上面有详解

读书人网 >C++

热点推荐