• Join/Login
  • Business Software
  • Open Source Software
  • For Vendors
  • Blog
  • About
  • More
    • Articles
    • Create
    • SourceForge Podcast
    • Site Documentation
    • Subscribe to our Newsletter
    • Support Request
SourceForge logo
For Vendors Help Create Join Login
SourceForge logo
Business Software
Open Source Software
SourceForge Podcast
Resources
  • Articles
  • Case Studies
  • Blog
Menu
  • Help
  • Create
  • Join
  • Login
  • Home
  • Browse
  • LookLink
  • Code

LookLink Code

Status: Abandoned
Brought to you by: assarbad
  • Summary
  • Files
  • Reviews
  • Support
  • Code
Menu ▾ ▴
 
  • Browse Commits
  • Fork
  • Merge Requests 0

Branches

  • default

Tags

  • 2013-12-29_release
  • tip

Tree [251521] default tip /
 History

Read Only access


File Date Author Commit
 .clang-format 2023-10-02 Oliver Schneider Oliver Schneider [696187] Upgrade to VS2022, reformatted the code, addres...
 .editorconfig 2023-10-02 Oliver Schneider Oliver Schneider [696187] Upgrade to VS2022, reformatted the code, addres...
 .hgignore 2023-10-02 Oliver Schneider Oliver Schneider [251521] Fixing some negligence
 .hgtags 2013-12-29 Oliver Schneider Oliver Schneider [1a09ae] Added tag 2013-12-29_release for changeset 63b3...
 .vsconfig 2023-10-02 Oliver Schneider Oliver Schneider [696187] Upgrade to VS2022, reformatted the code, addres...
 Directory.Build.props 2023-10-02 Oliver Schneider Oliver Schneider [6343ea] Forgot to add these
 FileAttributes.h 2023-10-02 Oliver Schneider Oliver Schneider [696187] Upgrade to VS2022, reformatted the code, addres...
 README.rst 2023-10-02 Oliver Schneider Oliver Schneider [0df5ce] Adding the other supported VS versions to README
 ReparsePoint.hpp 2023-10-02 Oliver Schneider Oliver Schneider [99e789] Addressed SAST findings
 ReparseTags.h 2023-10-02 Oliver Schneider Oliver Schneider [251521] Fixing some negligence
 VersionInfo.hpp 2023-10-02 Oliver Schneider Oliver Schneider [99e789] Addressed SAST findings
 VerySimpleBuf.hpp 2023-10-02 Oliver Schneider Oliver Schneider [99e789] Addressed SAST findings
 clang-reformat.sh 2023-10-02 Oliver Schneider Oliver Schneider [573ffd] Cosmetics to unify some related projects
 exeversion.h 2023-10-02 Oliver Schneider Oliver Schneider [573ffd] Cosmetics to unify some related projects
 exeversion.rc 2023-10-02 Oliver Schneider Oliver Schneider [251521] Fixing some negligence
 hgid.cmd 2023-10-02 Oliver Schneider Oliver Schneider [99e789] Addressed SAST findings
 looklink.cpp 2023-10-02 Oliver Schneider Oliver Schneider [99e789] Addressed SAST findings
 looklink.h 2023-10-02 Oliver Schneider Oliver Schneider [696187] Upgrade to VS2022, reformatted the code, addres...
 looklink.vs17.sln 2023-10-02 Oliver Schneider Oliver Schneider [696187] Upgrade to VS2022, reformatted the code, addres...
 looklink.vs17.vcxproj 2023-10-02 Oliver Schneider Oliver Schneider [251521] Fixing some negligence
 looklink.vs17.vcxproj.filters 2023-10-02 Oliver Schneider Oliver Schneider [251521] Fixing some negligence
 looklink.vs8.sln 2017-09-15 Oliver Schneider Oliver Schneider [3bae89] Outputting version info from resources now
 looklink.vs8.vcproj 2023-10-02 Oliver Schneider Oliver Schneider [251521] Fixing some negligence
 premake4.lua 2023-10-02 Oliver Schneider Oliver Schneider [573ffd] Cosmetics to unify some related projects
 project.early.props 2023-10-02 Oliver Schneider Oliver Schneider [6343ea] Forgot to add these
 project.late.props 2023-10-02 Oliver Schneider Oliver Schneider [6343ea] Forgot to add these
 relbuild.cmd 2023-10-02 Oliver Schneider Oliver Schneider [696187] Upgrade to VS2022, reformatted the code, addres...
 setvcvars.cmd 2023-10-02 Oliver Schneider Oliver Schneider [696187] Upgrade to VS2022, reformatted the code, addres...

Read Me

 CReparsePoint and looklink

About

CReparsePoint is a C++ utility class without dependencies to the STL, MFC, ATL or some such. It allows you to retrieve all the data stored inside reparse points, the mechanism underlying junction points since Windows 2000 and symbolic links (both for files and directories) since Windows Vista. It also supports placeholder files on Windows 8.1 and later.

looklink is a simple tool to investigate reparse point properties from the command line.

Installation

No installation required. Download the binaries (32 and 64bit) from SourceForge. Use an archiver to unpack the archive, I recommend 7-Zip, and then place the .exe files into a folder listed in your PATH environment variable.

As for the utility class all you need is to place the files ReparsePoint.h and VerySimpleBuf.h into your project, #include the former and you should be set to use CReparsePoint.

Build instructions

If you prefer to use Visual Studio, a solution/project for Visual Studio 2005 is included and you can generate any of the other supported projects yourself using the premake4 that comes with the WinDirStat source code. Use a tool such as sigcheck to verify the code signature on it, though.

The way you generate the projects is by calling premake4 one of the following ways:

premake4 vs2005
premake4 vs2008
premake4 vs2010
premake4 vs2012
premake4 vs2013
premake4 vs2015
premake4 vs2017
premake4 vs2019
premake4 vs2022

The earlier Visual Studio versions may work, but no guarantees.

My prepared premake4.lua can take a number of arguments. Most notably it'll take

  • --xp to generate XP-compatible projects on newer VS versions.
  • --msvcrt to use the msvcrt.dll import Windows Vista WDK which makes the resulting binary statically import msvcrt.dll, but in the version backwards compatible until Windows 2000 (and 2003 for x64). In order to make use of this, you have to set the environment variable WLHBASE to point to your WDK (e.g. WLHBASE=C:\WINDDK\6001.18002).
  • --release will generate the release solution (no Debug configuration) and is used by the relbuild.cmd script. This option implies --xp and --msvcrt at the time of this writing.

Requirements

The program should run on Windows 2000 and later for x86-32, and on Windows 2003 and later for x86-64, aka x64 (this includes Windows XP x64, which used the same code base as Windows 2003 Server). Itanium CPUs are not supported, but feel free to build that yourself, if needed.

The CReparsePoint class should work starting on Windows 2000, too.

Usage

Syntax:

looklink [--nologo] [--verbose] [--noerror] <path>
  • --nologo will prevent showing all the information about the tool iself.
  • --verbose will add some details to the output, including the file ID on NTFS.
  • --noerror will suppress the error when <path> doesn't point to a reparse point.

License

The tool and the classes are placed into the PUBLIC DOMAIN/CC0, with the exception of CVersionInfo (inside VersionInfo.hpp), which is licensed under the very liberal MIT license. Licensing information can usually be found at the top of each source file. Anything not explicitly licensed in the source file can be assumed to have been placed into the PUBLIC DOMAIN/CC0.

SourceForge
  • Create a Project
  • Open Source Software
  • Business Software
  • Top Downloaded Projects
Company
  • About
  • Team
  • SourceForge Headquarters
    1320 Columbia Street Suite 310
    San Diego, CA 92101
    +1 (858) 422-6466
Resources
  • Support
  • Site Documentation
  • Site Status
  • SourceForge Reviews
SourceForge logo
© 2025 Slashdot Media. All Rights Reserved.
Terms Privacy Opt Out Advertise
×