Я хотел бы иметь возможность использовать альтернативный поток данных для хранения некоторой информации синхронизации для файлов, на которые ссылается приложение базы данных, которое я создаю.
Тем не менее, все подходы, которые я нашел в сети, так или иначе потерпели неудачу. Не имея опыта программирования Win32 API, я не уверен, почему происходят сбои. В некоторых случаях вызовы методов выполняются успешно, только альтернативный поток не создается (, т. е. я не могу позже прочитать из альтернативного файла, и программа AlternateStreamViewer не может его увидеть ). В других случаях запись завершается успешно, но чтение завершается ошибкой, так как вызов CreateFile ()приводит к недопустимому SafeFileHandle.
На данный момент я просто хотел бы найти работающий код. Или быть предупрежденным, что «я не могу добраться туда отсюда». В таком случае я воспользуюсь другим,менее привлекательный вариант (, например, закодировать информацию синхронизации/ссылки в самом имени файла и надеяться, что никто никогда не изменит имя файла ).
Я понимаю просьбу о том, какие подходы я испробовал. Но было довольно много (Я потратил часы на это ), и мне было очень интересно узнать о предложениях, которые я еще не пробовал.
Тем не менее, вы правы в том, что это помогло бы, поскольку оказалось, что я использовал один из подходов --Trinet, упомянутый ниже --, неправильно. Я думаю, проблема была в том, что я еще не создал «базовый» файл, для которого пытался сохранить альтернативный поток.
Вот ссылки на кодовые базы, которые я пробовал: