I’m using the SetFileValidData call to quickly allocate a large region on disk prior to filling it with data. I add the SE_MANAGE_VOLUME_NAME priv to the process prior to opening any file handles and everything works great when I specify a local NTFS file path. But when I specify an SMB path, the SetFileValidData call fails with ERROR_PRIVILEGE_NOT_HELD. The SMB path refers to another Windows 10 machine and if I run the code locally on that machine it works as well. The documentation for SetFileValidData indicates support for SMB, but I’m wondering if there’s some kind special token/priv manipulation I need to do in order for this priv to pass from SMB client, to SMB server, and finally along to that local NTFS instance. One other data point, it works properly when I specify the SMB path of a local resource, but as soon as the SMB path points to a different machine, I get the error.
Any ideas?
-JT