Есть ли способ открыть файл в общей папке, используя идентификатор файла (FILE_ID_DESCRIPTOR), полученный из GetFileInformationByHandle ()

В настоящее время я использую следующие функции, чтобы открыть файл, используя его идентификатор.

volHandle = CreateFile(pVolName, ...);
fileHandle = OpenFileById(volHandle, &id, ...)

Идентификатор (FILE_ID_DESCRIPTOR) получается из GetFinalPathNameByHandle ().

Это работает для локальных файлов, но когда я попробовал его для файла в общей папке (из windows или unix-машины), я получил неверный volHandle.

Есть ли способы открыть файл в общей папке, используя его идентификатор (FILE_ID_DESCRIPTOR)?

1

Решение

От документация для OpenFileById, Акцент мой:

В Windows 8 и Windows Server 2012 эта функция поддерживается следующими технологиями.

Поддерживаемые технологии

Протокол Server Message Block (SMB) 3.0 — нет

Другими словами, вы не можете открыть файл по идентификационному номеру по сети, только в локальной файловой системе.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]