g01d
g01d

Reputation: 682

How to enumerate paths for all NTFS hard links pointing to a file?

I can use GetFileInformationByHandle to determine the number of hard links associated with a file. How can I enumerate the paths which make up those links?

For example, if C:\TEMP_1.BIN and C:\TEMP_2.BIN are hard links to the same content, and I determine from GetFileInformationByHandle that C:\TEMP_1.BIN has nNumberOfLinks=2, how can I discover the path for the other link? (e.g. C:\TEMP_2.BIN)

GetFileInformationByHandle: http://msdn.microsoft.com/en-us/library/aa363788%28v=VS.85%29.aspx

Upvotes: 5

Views: 1658

Answers (1)

jrtipton
jrtipton

Reputation: 2459

I think you're looking for FindFirstFileNameW, which tells you all of the names a file has.

Upvotes: 7

Related Questions