Does Windows have Inode Numbers like Linux?

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.

Leave a Comment