Skip to content
⌘ NSIS Forum Archive

How to determine whether a file system supports reparse points?

4 posts

azureusvuze#

How to determine whether a file system supports reparse points?

I found in Microsoft site that I can use GetVolumeInformation with FILE_SUPPORTS_REPARSE_POINTS, but I'm not familiar with System plug-in.

Could anyone create complete GetVolumeInformation using System plug-in from this site?
https://msdn.microsoft.com/en-us/library/windows/desktop/aa364993%28v=vs.85%29.aspx
Thanks before.
Anders#
!include LogicLib.nsh
!define FILE_SUPPORTS_REPARSE_POINTS 0x00000080

Section

System::Call 'KERNEL32::GetVolumeInformation(t "c:\",i0,i0,*i,*i,*i0r1,i0,i0)i.r0'
DetailPrint return=$0,FileSystemFlags=$1
IntOp $2 $1 & ${FILE_SUPPORTS_REPARSE_POINTS}
${If} $0 <> 0
${AndIf} $2 <> 0
DetailPrint FILE_SUPPORTS_REPARSE_POINTS
${EndIf}

SectionEnd
Just don't ask me to create a junction point with the system plugin... 😎
azureusvuze#
Originally Posted by Anders View Post
Just don't ask me to create a junction point with the system plugin... 😎
Great, thanks 😁
Do not worry, I just use junction from sysinternals instead of using system plugin, because it able to create junction point without administrator privileges 🙄
Anders#
You can create hardlinks and junction without admin rights with most tools, only symlinks required elevation...