Does Windows have Inode Numbers like Linux?

Gautam Bhalla picture Gautam Bhalla · Aug 23, 2011 · Viewed 39.9k times · Source

Does Windows have Inode Numbers like Linux? How does Windows internally manage files?

Answer

asveikau picture asveikau · Aug 23, 2011

The terminology used is a bit different from what you'd find in the Unix world, however in terms of having an integer that uniquely identifies a file, NTFS and some Windows API expose the concept of "file IDs" which is similar.

You can query the file ID of an open handle via GetFileInformationByHandle. See nFileIndexHigh, nFileIndexLow; this is the high and low parts respectively of the file ID which is 64 bits.

NtCreateFile can also open a file by its ID. See the FILE_OPEN_BY_FILE_ID flag. You need a volume handle to open by file ID.