FltGetFileNameInformation to get normalized name for SMB

Hello !

I use FltGetFileNameInformation(FLT_FILE_NAME_NORMALIZED | FLT_FILE_NAME_QUERY_DEFAULT) to get normalized path for network files on SMB shares on post-create.
Client - 10x64 21H1. Servers - another 10x64 21H1 and SMB share on my router.
I am opening files by short name and FltGetFileNameInformation returns normalized name successfully every time.

However, MSDN states that “Starting in Windows 10, you cannot query normalized file names on a remote volume because the Server Message Block (SMB) Protocol does not support queries for normalized paths.”

Am I just being lucky ? Have I misunderstood MSDN ?

Actually, I know what that is about… doc issue.
The thing is, truely from build 1709, several API can no longer open files
on some remote servers in some conditions. Those APIs are used by FltMgr to
open folders for the query, and thus name normalization will fail.

Before 1709 THESE WORKED. I can’t think what prick made another FGFNI bug
and why now :slight_smile:

Anyway, try symlinks on 1709+ and you will find FGFNI failing soon.
For renames this is even worse.

That’s the simplest condition, but there are others, and yes, they do
relate to W10 only:(

Kind regards, Dejan.
https://www.alfasp.com

1 Like

Thank you Dejan ! Good to know