手抜きOS Windows 10 Part118 / DiskCache 改悪対策の改善
手抜きOS Windows 10 Part92 / DiskCache の仕様が更に改悪された模様
手抜きOS Windows 10 Part93 / DiskCache 改悪の確証とってみた
以前紹介した、ディスクキャッシュ飛ばしが効果なくて、リムーバブルディスクメディアが吹っ飛ぶ可能性が高くなったので処理の改善をしました。
間にディスクキャッシュ吹っ飛ばす処理を入れてみた
プロテクトの掛かった組み込みシステムのリムーバブルメディアのプロテクトを外す : SHELLEXECUTEINFOA sei = { 0 }; sei.cbSize = sizeof(SHELLEXECUTEINFO); sei.hwnd = hWnd; sei.nShow = SW_HIDE; sei.fMask = SEE_MASK_NOCLOSEPROCESS; sei.lpFile = (LPCSTR)"sync.exe" sei.lpParameters = " -r E -accepteula" if(!ShellExecuteExA(&sei) || (const int)sei.hInstApp <= 32) { } else WaitForSingleObject( sei.hProcess, INFINITE ); : データを書き込む |
ケース1
データを書き込む : SHELLEXECUTEINFOA sei = { 0 }; sei.cbSize = sizeof(SHELLEXECUTEINFO); sei.hwnd = hWnd; sei.nShow = SW_HIDE; sei.fMask = SEE_MASK_NOCLOSEPROCESS; sei.lpFile = (LPCSTR)"sync.exe" sei.lpParameters = " -r E -accepteula" if(!ShellExecuteExA(&sei) || (const int)sei.hInstApp <= 32) { } else WaitForSingleObject( sei.hProcess, INFINITE ); 組み込みのリムーバブルメディアにプロテクトを掛ける。 : ディスクを抜く |
ケース2
Sync
どうも、sync.exe が起動するまでの間に処理が先に進んでしまうと、ハードウェアの状態のキャッシュが残ってしまい正常に処理されないようだ。
なので、 sync.exe の処理がちゃんと終わるまで待つようにした。
以前の処理だと、 sync.exe がメモリ内にキャッシュされていると正常に動くがそれ以外ではデータが飛ぶ可能性があった (((・ω・)))
Comments