Совершенно случайно заметил, что ProcessMonitor от Sysinternals показывает вызов QueryBasicInformationFile перед
каждым вызовом WriteFile.
Кто-нибудь может объяснить — почему?
скриншот
void WeirdStuff()
{
HANDLE h = ::CreateFile(_T("myfile.dat"),
GENERIC_WRITE, FILE_SHARE_READ, nullptr,
OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, nullptr);
BYTE buffer[256] = {0};
for (size_t i = 0; i < sizeof(buffer); i++)
buffer[i] = (BYTE)i;
for (size_t i = 0; i < 10; i++)
{
DWORD dwWritten = 0;
::WriteFile(h, buffer, DWORD(sizeof(buffer)), &dwWritten, nullptr);
}
::CloseHandle(h);
}