Как получить дескриптор файла в vb .net

Я хочу использовать функцию 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?


person drcelus    schedule 03.11.2011    source источник


Ответы (1)


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

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