私はDIBを含むHGLOBALハンドルを提供する関数をエクスポートするキャプチャカードdllを使用しています。このDIBをファイルに書きたいと思います。私はリソースをロックし、データポインタを取得した後、私はサイズを要求し、約1メガバイトです。しかし、ファイルに書き込むときは常に0バイトです。私がHGLOBAL型で作業したのはこれが初めてのことなので、私は何か間違っていると推測しています。私はあなたの助けに感謝します。ファイルへのHGLOBAL DIBデータの書き込みに問題があります
char* dibData = (char*)LockResource(DIB);
if(NULL != dibData)
{
SIZE_T dibSize = GlobalSize (DIB);
f = fopen("thedib.dib", "wb");
if (f)
{
n = fwrite(dibData,dibSize,1,f);
fflush(f);
fclose(f);
wrote = true;
}
UnlockResource(DIB);
}
'' SizeofResource(DIB)の結果は何ですか? http://msdn.microsoft.com/en-us/library/windows/desktop/ms648048.aspx – user7116
DWORDを行う場合は、dibSize = SizeofResource(NULL、(HRSRC)DIB);次にdibsize = 0となります。 – kevincw01
LockResourceが必要なのかどうかは、このイメージが実行可能ファイルからのものではないためですか? – kevincw01