Windows プロセス情報にアクセスしようとしているように見える次のコードを含む VB6 アプリケーションがあります。
断続的な無限ループの原因である可能性があると思います-配列をREDIM-mingし、すべてのメモリを噛み砕きます。
次のコードの目的を知っている人はいますか? また、長い間ループし、bytBuf のサイズが大きくなりすぎるというシナリオをキャッチするのに役立つかどうか (bytBuf の最大配列サイズを推奨できますか?) ?)
Do
ReDim bytBuf(nSize)
ntStatus = NtQuerySystemInformation(SystemHandleInformation, VarPtr(bytBuf(0)), nSize, 0&)
If (Not NT_SUCCESS(ntStatus)) Then
If (ntStatus <> STATUS_INFO_LENGTH_MISMATCH) Then
Erase bytBuf
Exit Function
End If
'If it always ends up here, it will loop endlessly! How do I stop it?!
Else
Exit Do
End If
nSize = nSize * 2
ReDim bytBuf(nSize)
Loop
どうもありがとう アンドリュー