Как получить дескриптор файла в vb .net - PullRequest
3 голосов
/ 03 ноября 2011

Я хочу использовать функцию GetFileInformationByHandle в kernel32.dll, чтобы получить уникальный идентификатор файла NTFS.Объявление функции выглядит следующим образом:

Declare Auto Function GetFileInformationByHandle Lib "kernel32.dll" _ 
(ByVal hFile As IntPtr, ByRef lpFileInformation As BY_HANDLE_FILE_INFORMATION) As Boolean

Мой вопрос может показаться глупым, но как мне получить дескриптор файла (hFile As IntPtr) для заданного имени файла в Visual Basic?

1 Ответ

4 голосов
/ 03 ноября 2011

Вы можете использовать свойство FileStream.SafeFileHandle :

Using fs As FileStream = New FileStream("c:\test.txt", FileMode.Create, FileAccess.Write)
    Dim hFile = fs.SafeFileHandle.DangerousGetHandle()
    ' do something
End Using
...