|
|
|
Ведь нельзя же просто так взять, и не создать файл с помощью CreateFile?
|
|||
|---|---|---|---|
|
#18+
Один из способов проверить, что два имени файла указывают на один и тот же файл - использовать связку CreateFile и GetFileInformationByHandle . Если скормить CreateFile 'у связку FILE_ATTRIBUTE_TEMPORARY || FILE_FLAG_DELETE_ON_CLOSE , то система не делает бессмысленный flush. CreateFile с этими флагами всё же создаёт файл нулевой длины на диске, хоть и существующий только до закрытия хэндла. Даже если дополнительно указать dwDesiredAccess = 0 (= только опрос параметров, реального чтения/записи не предполагается). Правильно ли я понимаю, что данный способ годится только на тот случай, когда или файл реально существует, или есть права на его создание? Т.е. нельзя никакими способами получить беспроблемно-скармливаемый GetFileInformationByHandle 'у хэндл, если проверяется имя не существующего пока файла в защищённом от записи каталоге или файла на не подключенном диске. Параметры nFileIndexHigh/Low приходящей в ответ структуры BY_HANDLE_FILE_INFORMATION , конечно, намекают коту, что самый надёжный способ застолбить уникальный индекс (особливо для низкоуровнего кода) - создать болванку файла, и не париться с виртуальщиной. Но всё ж хочется уточнить у знающих людей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2015, 21:18 |
|
||
|
Ведь нельзя же просто так взять, и не создать файл с помощью CreateFile?
|
|||
|---|---|---|---|
|
#18+
Способ синхронизации доступа к разделяемых ресурсам вычислительной системы и обнаружения и устранения повисших блокировок с использованием блокировочных файлов По номеру патента можно почитать и его описание. Есть, наверное, и другие способы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2015, 18:52 |
|
||
|
Ведь нельзя же просто так взять, и не создать файл с помощью CreateFile?
|
|||
|---|---|---|---|
|
#18+
М-м? Не нашёл в записке к патенту ответа. Там рассказывается про создание файлов - временных, блокировок, создание жёстких ссылок, но как оно к созданию виртуального файла относится? За каждым запатентованным шагом стоит реальный файл на диске, или же ссылка на реальный файл (да hard link на несуществующий файл невозможна). Думаю, что моё предположение в первом посте верно, и сравнить указанным способом два имени для несуществующего файла невозможно. Если каким-то боком я неправ - ткните, пожалуйста, более предметно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2015, 00:56 |
|
||
|
|

start [/forum/topic.php?fid=26&msg=38993044&tid=1493978]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 235ms |
| total: | 365ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...