It is possible to create a hard link under NT5. It can be done using CreateHardLink function and which is similar to UNIX hard link. With a hard link, a file can have two separate names. Note that there is only one file, so a change to a file will be available regardless of which name was used to open the file.
BOOL CreateHardLink (
LPCTSTR lpFileName,
LPCTSTR lpExistingFileName,
BOOL lpSecurityAttributes)
The first two arguments, while in the opposite order, are used as in CopyFile. The two file names, the new name and the existing name, must occur in the same file system volume, but they can be in different directories. The security attributes, if any, apply to the new file name.
Close examination of Microsoft documentation shows a "number of links" member field in the BY_HANDLE_FILE_INFO structure, and this link count is used to determine whether or not a file can be deleted. DeleteFile removes the name from the file system directory, but the actual file cannot be deleted until the "number of links" count reaches 0.

