ウェブサイトのコンテンツを masm の文字列として取得したいのですが、wininet を使用していますが、ページは正常に要求されますが、InternetReadFile を使用してコンテンツを読み取る場合、すべてを同じバッファーに入れる方法がわかりません。一気読み。
コードは次のようになります。
.data?
Bufferlen dd ?
Buffer db 65536 dup(?)
....
get_page:
invoke InternetReadFile, hRequest, addr Buffer, sizeof Buffer, addr Bufferlen
.if Bufferlen != 0
invoke StdOut, offset Buffer
jmp short get_page
.endif
....
それはターミナルでページ全体を印刷しますが、最後に読み取ったチャンクだけでなく、ページ全体を Buffer に入れたいです。
C++ では、次のように使用します。
int BufferPointer = 0;
get_page:
invoke InternetReadFile, hRequest, addr Buffer+BufferPointer, sizeof Buffer, addr Bufferlen
.if Bufferlen != 0
BufferPointer += Bufferlen; <- PSEUDO CODE : This is how I do it in C++
jmp short get_page
.endif
invoke StdOut, offset Buffer
MASMでそれを行うにはどうすればよいですか?