问题标签 [reparsepoint]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
816 浏览

c++ - C/C++, NTFS. Multiple reparse points

MSDN says "There is a limit of 31 reparse points on any given path." (http://msdn.microsoft.com/en-us/library/windows/desktop/aa365503%28v=vs.85%29.aspx) So, a single file can have max. 31 reparse points (?)

To check if a file has "a" reparse point, GetFileAttributes can be used (mentioned here: http://msdn.microsoft.com/en-us/library/windows/desktop/aa365507%28v=vs.85%29.aspx) and to get the content of "the" reparse point DeviceIoControl with FSCTL_GET_REPARSE_POINT is needed (cant post a third link because of low reputation)

But i see no possibility to specify what reparse data i want if there are multiple? GetFileAttributes will say only Yes/No instead of a count or something like that, and DeviceIoControl will fill one single REPARSE_GUID_DATA_BUFFER structure (according to MSDN), without any possibilty to give a GUID or index or somtehing like that.

edit: My question if i´ve understood this with 31 reparse points right and how i can access them.

0 投票
0 回答
286 浏览

windows - 不需要管理员权限的 FindFirstVolumeMountPoint 的替代方案?

如果运行代码的用户不是管理员,是否有替代方案FindFirstVolumeMountPoint(和朋友)不会失败?

我正在考虑HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices一个,但当我看它时,它不会给我任何信息。

0 投票
1 回答
504 浏览

c# - 修改 NTFS 连接点的属性

我正在使用这个库来创建或获取我的连接点。一旦我得到这样的JunctionPoint实例,我就可以DirectoryInfoLink's (*)路径创建一个并读取LastWriteTimeUtc属性。现在我想将此时间戳设置为另一个日期,但它不起作用:值保持不变并且不会引发异常。

(*):这是您找到交汇点的位置的路径。

我怀疑,您需要使用一些 PInvoke 才能完成这项工作。通过在创建时或之后使用第二种方法指定所需的时间戳。所以我查找了用于创建连接点的文档,希望能找到一些有用的东西CreateFile()dwFlagsAndAttributes参数似乎接受一些标志/数值,并且 该方法的文档SetFileAttributes()看起来并不好。

我在使用 PInvoke 方面没有太多经验,非常感谢一些好的建议。

编辑

“我不想下载代码。我想在问题中看到足够多的代码以便能够回答”

这是用于创建联结的相关代码。它与codeproject的代码略有不同,因为我需要进行一些修改才能将其嵌入到我自己的库中。Link是类型DirectoryInfo

0 投票
1 回答
686 浏览

r - Sys.junction(from, to) 中的警告:无法在 R 中设置重解析点

我在 Windows 8-1 x64 上使用 R 3.2x64 和 RStudio 的开发版本(0.99)。我没有成功执行任何新包的 R CMD 检查,因为我收到了以下消息:“...无法设置重新分析点”。

下面是更详细的日志:

Sys.junction 中的警告(从,到):无法设置重解析点 'Z:\Temp\Rtmpugnnnj\RLIBS_b8462e13540/markovchain',原因是 'Funzione non corretta' flink 中的错误(其中,tmplib):无法从 C:/Users 链接/Giorgio/Documents/R/win-library/3.2/markovchain * 删除'F:/GIORGI~1/UNIVER~1/LIFECO~1/LIFECO~1.RCH/lifecontingencies'

具体环境如下:

ALLUSERSPROFILE C:\ProgramData APPDATA C:\Users\Giorgio\AppData\Roaming asl.log Destination=file CommonProgramFiles C:\Program Files\Common Files CommonProgramFiles(x86) C:\Program Files (x86)\Common Files CommonProgramW6432 C:\ Program Files\Common Files COMPUTERNAME SPEDYPC ComSpec C:\Windows\system32\cmd.exe DISPLAY :0 FP_NO_HOST_CHECK NO GFORTRAN_STDOUT_UNIT -1 GFORTRAN_STDOUT_UNIT -1 HOME C:/Users/Giorgio/Documents HOMEDRIVE C: HOMEPATH \Users\Giorgio LOCALAPPDATA C:\ Users\Giorgio\AppData\Local LOGONSERVER\SPEDYPC NUMBER_OF_PROCESSORS 8 OS Windows_NT PATH C:\Program Files\R\R-3.2.0\bin\x64;c:\Rtools\bin;c:\Rtools\gcc-4.6.3 \bin;C:\ProgramData\Oracle\Java\javapath;c:\Rtools\bin;c:\Rtools\gcc-4.6.3\bin;C:\Windows\system32;C:\Windows;C:\Windows \System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\MiKTeX 2.9\miktex\bin\x64\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\R\R-3.2.0\bin\x64 PATHEXT .COM;.EXE;.BAT;.CMD;.VBS;.VBE; .JS;.JSE;.WSF;.WSH;.MSC PROCESSOR_ARCHITECTURE AMD64 PROCESSOR_IDENTIFIER AMD64 Family 21 Model 2 Stepping 0, AuthenticAMD PROCESSOR_LEVEL 21 PROCESSOR_REVISION 0200 ProgramData C:\ProgramData ProgramFiles C:\Program Files ProgramFiles(x86) C:\Program Files (x86) ProgramW6432 C:\Program Files PSModulePath C:\Windows\system32\WindowsPowerShell\v1.0\Modules\ PUBLIC C:\Users\Public R_ARCH /x64 R_DOC_DIR C:/PROGRA~1/R/R-32~1.0 /doc R_HOME C:/PROGRA~1/R/R-32~1.0 R_LIBS_USER C:/Users/Giorgio/Documents/R/win-library/3.2 R_USER C:/Users/Giorgio/Documents RMARKDOWN_MATHJAX_PATH C:/Program Files/ RStudio/resources/mathjax-23 RS_LOCAL_PEER \.\pipe\34320-rsession RS_RPOSTBACK_PATH C:/Program Files/RStudio/bin/rpostback RS_SHARED_SECRET 63341846741 RSTUDIO 1 RSTUDIO_MSYS_SSH C:/Program Files/RStudio/bin/msys-ssh-1000-18 RSTUDIO_PANDOC C:/Program Files/RStudio/bin/pandoc RSTUDIO_SESSION_PORT 34320 RSTUDIO_USER_IDENTITY Giorgio SESSIONNAME Con​​sole SystemDrive C: SystemRoot C:\Windows TEMP Z:\Temp TMP Z:\Temp USERDOMAIN spedyPC USERDOMAIN_ROAMINGPROFILE spedyPC USERNAME Giorgio USERPROFILE C:\Users\Giorgio windir C:\Windows

提前致谢

0 投票
1 回答
468 浏览

backup - BackupWrite:在重新分析点上拒绝访问

我正在使用 BackupRead 和 BackupWrite 来实现 2 个文件夹之间的文件同步。

我可以毫无问题地在文件和文件夹上使用它们。但是当我想在重新分析点上使用它们时,BackupWrite 会失败并出现拒绝访问错误。

使用 BackupRead 检索原始重分析点时不会出错。缓冲区有 2 个流:一个用于安全数据,一个用于重新解析数据。我可以在后者中看到重解析点的目标。我尝试创建的文件不存在并且 FILE_FLAG_BACKUP_SEMANTICS | FILE_FLAG_OPEN_REPARSE_POINT 被传递给 CreateFile。

所以,我的问题是:打开文件以使 BackupWrite 成功恢复重解析点的方法是什么?

0 投票
1 回答
1760 浏览

powershell - ReparsePoint 属性删除 PowerShell

您好我在网络共享上有一些文件需要删除 ReparsePoint 属性。我试图将这些文件属性设置为“正常”,但没有删除“ReparsePoint”

如何从这些文件中删除“ReparsePoint”属性?

0 投票
1 回答
530 浏览

c++ - DeviceIoControl 对内存位置的访问无效

运行以下代码时,我对内存位置的访问无效

但下面的代码工作正常。

我正在尝试获取给定文件夹中文件的重新解析数据。这是我的REPARSE_DATA_BUFFER

我不知道我哪里出错了。请帮我修复我的第一个代码。

0 投票
1 回答
554 浏览

c++ - 获取连接的目标路径似乎总是以“错误 5 访问被拒绝”结束

我有一个项目,我必须得到一个路口的目标。这是我想出的一些代码:

现在,奇怪的是代码很好地返回了GetFinalPathNameByHandle每个目录,除了连接/重解析点 Documents\My Videos。对于路口,它会抛出一个“错误 5”,带有GetLastError(). 有谁知道是什么原因造成的?

0 投票
0 回答
731 浏览

c++ - 一个驱动器作为重解析点

考虑以下我在 Win 10 Fall Creators Update Version 10.0.16299 Build 16299 上试验的独立源代码

这是我用来解析一个驱动器的目标的代码,该驱动器被视为IO_REPARSE_TAG_CLOUD_7GetFileAttributesExW功能处理。

我知道它_REPARSE_DATA_STRUCTURE的信息仅适用于SymbolicLinkReparseBuffer并且MountPointReparseBuffer它没有任何与重解析点相关的字段,例如 One Drive。

我检查了 Windows 驱动程序套件的(用于秋季创建者更新)ntifs.h文件,以查看结构是否已更新以支持 One Drive。然而,情况似乎并非如此。

我还尝试从第一个 if 块SymbolicLinkReparseBuffer中获取 One Drive 目标信息。MountPointReparseBuffer然而,它最终给了我垃圾。

问题:

1) 如何正确确定 REPARSE_POINTS 的目标,例如 One Drive?

2) Windows 10 Fall Creators Update SDK 添加了更多这样的 REPARSE_POINT 标签。如果一个人不能解决它的目标(例如一个驱动器),那么对待它们(即源 REPARSE_POINTS)的一般经验法则是什么?作为文件还是目录?

0 投票
0 回答
284 浏览

powershell - 我损坏了我所有同事的 OneDrive

我想将我的 OneDrive for Business 文件夹备份到外部 HD(我使用 Veeam),但在 Microsoft 进行了一些更新后,这已经有一段时间了。今天早上我做了一些研究,我偶然发现了这个:https ://forum.acronis.com/comment/451003#comment-451003

我愚蠢地,盲目地遵循建议并输入:

从 OneDrive 文件夹进入 Powershell。执行后,我尝试备份一些文件,它工作。(请注意,由于这个原因,我今天只备份了一些文件)是的,我想。

但是,几个小时后,我的更改已经传播,我的同事无法打开 DOCX 和 XLSX 文件。他们全部。“无法打开文件,因为文件格式或文件扩展名无效”。Office 内部的“打开和修复”不起作用。恢复昨天的 OneDrive 不起作用(文件被相同名称覆盖)。Microsoft 帮助台将与我们联系。

帮助!我们有一个旧备份,但我们不能失去 2 周的工作!有什么方法可以撤消重解析点,或者恢复损坏的 Office 文件?