gpt4 book ai didi

windows-runtime - 与 CreateFile 的 dwShareMode 类似的 WinRT 是什么?

转载 作者:行者123 更新时间:2023-12-02 03:49:53 25 4
gpt4 key购买 nike

在 Win32 CreateFile() API 中,我可以在打开文件时指定 dwShareMode,以防止在打开文件时删除或更改该文件。

我正在寻找 WinRT 中的 C# 模拟。假设我打开一个文件:

StorageFile sf = await Windows.Storage.ApplicationData.Current.LocalFolder.GetFileAsync("x.txt");
IRandomAccessStreamWithContentType iras = await sf.OpenReadAsync();

然后,从 CMD.EXE 的一个实例,我可以 CD 到 ...\AppData\Local\Packages\zzz\LocalState 目录并在 WinRT 应用打开它时删除该文件。

我可以在我的 C# 代码中做些什么来导致删除失败?

最佳答案

无法直接获得。这对于 WinRT 来说是典型的,它通过简单地不公开功能来强制应用程序在 api 级别玩得很好而不是占用资源。这也是一个相当严重的可用性问题,当用户离开应用程序时,应用程序可能会暂停很长时间。将文件锁定那么长时间当然是非常有问题的,用户没有很好的方法来诊断问题。

无论如何,当您使用 LocalFolder 时,这不是问题,没有其他人可以访问它。好吧,不算有上帝账户的人。

有一个可用的后门,您可以调用 CreateFile2()。允许应用商店应用使用的 CreateFile() 版本。它有一个 dwShareMode 参数。在 C# 程序中使用它没有什么乐趣,并且商店验证被拒绝的几率将非零。

关于windows-runtime - 与 CreateFile 的 dwShareMode 类似的 WinRT 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14759553/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com