Windows Store 增强了文件系统安全性管理,应用允许在沙盒环境中,一般只能访问自身目录下的文件。要访问外部文件或者目录,需要获得用户授权,采用弹出的文件选择对话框来获取权限。该权限以 TOKEN (GUID 字符串)形式对外暴露,应用可以保存已有的授权 TOKEN。
Windows Store 平台缺失的 文件系统 Win32 API 有:
| 缺失API | 实现方法 | 说明 |
| CreateDirectoryA | CreateDirectoryW | fileapi.h 不正确的申明了该 API |
| RemoveDirectoryA | RemoveDirectoryW | fileapi.h 不正确的申明了该 API |
| GetFileAttributesW | GetFileAttributesExW | |
| GetFileAttributesA | GetFileAttributesW | |
| CreateFileW | CreateFile2 | 需要特殊处理授权文件目录 |
| CreateFileA | CreateFileW | |
| DeleteFileW | 需要特殊处理授权文件目录 | |
| DeleteFileA | DeleteFileW | fileapi.h 不正确的申明了该 API |
| MoveFileExA | MoveFileExW | fileapi.h 不正确的申明了该 API |
| GetFileSizeEx | GetFileInformationByHandleEx | 需要特殊处理授权文件 |
| GetFileSize | GetFileSizeEx | |
| SetFilePointerEx | 需要特殊处理授权文件 | |
| SetFilePointer | SetFilePointerEx | |
| ReadFile | 需要特殊处理授权文件 | |
| WriteFile | 需要特殊处理授权文件 | |
| GetCurrentDirectoryW | 不实现,失败返回 | |
| GetCurrentDirectoryA | 不实现,失败返回 | |
| SetCurrentDirectoryW | 不实现,失败返回 | |
| SetCurrentDirectoryA | 不实现,失败返回 | |
| CreateHardLinkW | 不实现,失败返回 | |
| CreateHardLinkA | 不实现,失败返回 | |
| GetFullPathNameW | 不实现,失败返回 | |
| GetFullPathNameA | 不实现,失败返回 | |
| GetShortPathNameW | 不实现,失败返回 | |
| GetShortPathNameA | 不实现,失败返回 | |
| MoveFileW | MoveFileExW | |
| MoveFileA | MoveFileW | |
| CopyFileW | CopyFile2 | |
| CopyFileA | CopyFileW | |
| FindFirstFileW | FindFirstFileExW | |
| FindFirstFileA | FindFirstFileW | |
| GetFileInformationByHandle | GetFileInformationByHandleEx | |
| GetFileTime | GetFileInformationByHandleEx | |
| SetFileTime | SetFileInformationByHandle | |
| GetTempPathW | Windows::Storage::ApplicationData | |
| GetTempPathA | GetTempPathW | |
| CloseHandle | 需要特殊处理授权文件 | |
本文探讨了Windows Store平台中应用的文件系统安全管理和缺失的Win32API,详细介绍了应用如何在沙盒环境中访问外部文件,并强调了由于文件系统限制导致的API缺失及其实现方法。
2815

被折叠的 条评论
为什么被折叠?



