CInternetFile::Seekに関する質問(お願い)です!
VC++ ver.6 MFCでHTMLファイルを(途中から途中まで)中途半端に読むプログラムを作成しています。
関係する主な部分を抜き出すと
char* buffer = (char*)malloc( buffer, 1024*2);
CInternetSession cSession(_T("TEST APPLICATION"), 1, INTERNET_OPEN_TYPE_PRECONFIG);
INTERNET_PORT nPort = INTERNET_DEFAULT_HTTP_PORT;
CHttpConnection* lpHttpConn = cSession.GetHttpConnection( lpszServer, nPort );
pFile = lpHttpConn->OpenRequest( CHttpConnection::HTTP_VERB_GET, lpszObject, NULL, 1, NULL, "HTTP/1.1" );
bRet = pFile->SendRequest();
pFile->Seek(1024*4,CFile::begin);
iReadBytes = pFile->Read( buffer, 1024*2);
とまあ、こんな感じで「開始位置4kb(途中から)、読み込みサイズ2kb(途中まで)」読み込まれることを期待してるのですが、
Readのところで例外処理に飛ばされちゃいます。
GetErrorMessageで確認すると
Invalid access to memory location
となってます。記憶場所への無効なアクセス?
Seekをしない場合、あるいは移動量を0にした場合は読み込みは行われます。
MSDNを見たりGoogleでの検索は一通りしてみましたが、CInternetFile::Seekは情報が少なくて難儀してます。
間違いの指摘、ヒントをお願いします。
あるいは、適当と思われるスレッドに誘導願います。