別のプロセス (変更できない) によって継続的に書き込まれるバッファー ファイルからバイナリ データを読み込もうとしています。ファイルを開くために次のコードを使用しています。
fileH = CreateFileA((LPCSTR)filename,
GENERIC_READ,
FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL, NULL);
そして、エラーなしで正しく開きます。ただし、ファイルからデータを読み取ると、データが失われるため、他のプロセスがファイルに書き込むのをブロックしているようです。
バッファは循環的です。つまり、ファイル サイズは固定されており、新しいデータは常にバッファ内の古いデータに上書きされます。
編集: 時には最も些細な解決策が機能します...
ソフトウェア会社に連絡してバグについて伝えたところ、1 日以内に修正された新しいバージョンが投稿されました。申し訳ありませんが、これは誰にとってもうまくいくわけではありません。