在下面的CPP代码中,我调用GetFileAttributes API来获取文件信息。
我已经创建了VSS快照 wmic shadowcopy调用create Volume ='C:\'并将快照路径传递给API。
当我将其作为进程运行时它工作正常但是当它作为Windows服务运行时失败。 它仅对单驱动器文件夹失败,并且对于系统上的其余文件/文件夹工作正常。 它在Windows10-1803更新后失败。
int main(){
char *path = "\\\\?\\GLOBALROOT\\Device\\HarddiskVolumeShadowCopy195\\Users\\Win10\\OneDrive";
FILE *fp;
fp=fopen("C:\\trunk\\err_19_log.txt", "w");
int res1 = 0;
res1 = GetFileAttributes(path);
fprintf (fp, "\\\\?\\GLOBALROOT\\Device\\HarddiskVolumeShadowCopy4\\Users\\Win10\\OneDrive%d\n",res1);
fprintf (fp, "%d", GetLastError());
printf("%d %d", res1,GetLastError());
fclose(fp);
return 0;
}