RE^2:ビットマップアーカイブファイルの展開についての質問
(
Kabo
)
2000/10/03 02:38
質問にお答えいただき、ありがとうございます。
早速、43Tさんのプログラムも参考にさせていただきます。
DLLプログラムのデバッガによる追跡方法がわかりませんので、
今回採った確認の方法を載せます。何か問題点があった場合、
ご指摘いただけると幸いです。
※index構造体は各内部ファイルの
length: ファイルサイズ
offset: ファイル内の位置
を表しています。
__declspec(dllexport) int PASCAL GetFile
(LPSTR src, long len, char* dest, unsigned int flag,
int PASCAL ProgressCallback(int,int,long), long lData )
{
・
・
dest = (char*)GlobalAlloc( GPTR, index->length );
fp = ax_Open( src );
ax_lSeek( fp, index->offset );
/* HWND hwnd; //dest引数チェック用
char mychar[50]; // メッセージボックス
hwnd = GetForegroundWindow();
wsprintf(mychar,"%X",dest);
MessageBox( hwnd, mychar,"GetFile",MB_OK );
*/
ax_Read( fp, dest, index->length );
ax_Close( fp );
・
・
}
BOOL ax_Read( HANDLE hfp, char* buf, int ReadSize )
{
DWORD dw;
HANDLE hWFile;
/* HWND hwnd; //bufポインタチェック用
char mychar[50]; // メッセージボックス
hwnd = GetForegroundWindow();
wsprintf(mychar,"%X",buf);
MessageBox( hwnd, mychar,"ax_Read",MB_OK );
*/
ReadFile(hfp, buf, ReadSize, &dw, NULL);
if( ReadSize != (int)dw )
return FALSE;
else
/* {
hWFile = CreateFile("C:\\Test.dat", GENERIC_WRITE, 0, NULL, OPEN_ALWAYS,
FILE_ATTRIBUTE_NORMAL, NULL);
WriteFile( hWFile, buf, ReadSize, &dw, NULL ); //バッファ内書き出し用
CloseHandle(hWFile);
*/ return TRUE;
// }
}
--「RE^2:ビットマップアーカイブファイルの展開についての質問」に対するコメント--
タイトル(Subject):
お名前(Your name):
Mail address:
Password:
:入力しておくとあとで削除できます
Your message:
7thBridge P ver0.26 (c)Takechin