あひるさん、いつもありがとうございます。


// 最後にDIBを得る
nRet = GetDIBits(memDC.GetSafeHdc(),//hDC,
(HBITMAP)Bitmap.GetSafeHandle(),
0L,
(DWORD)bm.bmHeight,
(LPSTR)lpbi + bi.biSize + (Size-bi.biSize - bi.biSizeImage),
lpbi,
(DWORD)DIB_RGB_COLORS);//***warning11145***

// DIBのヘッダとビット列を書き込む
if(( byteswritten = _write(fh, lpbi, Size)) == -1 ){//***11181***
AfxMessageBox( "書き込みに失敗しました。2" );
}

e:\winmap\map_src\sum200j1\map10vw.cpp(11145) : warning C4135: 2つの整数値型の間で情報が失われました。
e:\winmap\map_src\sum200j1\map10vw.cpp(11181) : warning C4135: 2つの整数値型の間で情報が失われました。

> 前にも書きましたが、これを見ると、VC1.5での型が違う気がしますね。
> 特にWriteなのですが、このサイズ情報が切り捨てられていると、書きこむ
> サイズが小さくなるので、VC1.5ではどのような宣言なのかを
> 確認すべきだと思います。
> VC1.5に対応するヘルプを確認しましたか?
いつもすみません。かなり知識不足で自信がないんですけど・・・
とりあえず上のSrcで書きこみのサイズが23272と帰ってきました。
実際にSETしているのは3955472バイトです。
あひるさんの教えてくれたように書きこみバイト数が少なかったです。
ありがとうございます。
で、その回避のためにはどうしようか考えているところです。
つまり上のwarningをどう消すかですが・・・
あひるさんのおっしゃってるのはLPBITMAPINFO lpbi が32ビットポインタかどうか
ということでしょうか?
LPBITMAPINFOは32ビットポインタです。DWORD、LPSTRも32です。
見当違いかもしれませんが・・・

また何か解ったらぜひ教えてください。
よろしくお願いします。