繁体   English   中英

如何使用 FileAPI 重现 ERROR_WRITE_PROTECT?

[英]How to reproduce ERROR_WRITE_PROTECT with FileAPI?

我有几个程序实例。 每个应用程序使用不同的文件并将一些信息写入该文件。 一般来说,它可以在很长一段时间内正常工作,但在一种情况下,我发现所有实例都无法同时写入它们的文件,并出现以下错误代码: ERROR_WRITE_PROTECT (0x13) 必须注意,我不知道此时在运行程序的服务器上发生了什么。 以下是该程序的代码片段:

Handle myHandle = CreateFile(fileName,
    GENERIC_ALL,
    FILE_SHARE_READ | FILE_SHARE_DELETE,
    NULL,
    CREATE_NEW,
    FILE_FLAG_DELETE_ON_CLOSE,
    NULL);

DWORD dwBytesWritten = 0;
unsigned char buffer[bufferSize];

// Code that fills the buffer

if (!WriteFile(myHandle, buffer, bufferSize, &dwBytesWritten, NULL))
{
    // Log GetLastError() result
}

我试图弄清楚为什么会发生这种情况,我该如何重现它? 我必须对文件或文件夹进行什么样的操作才能获得 ERROR_WRITE_PROTECT (0x13) 错误代码?

我必须对文件或文件夹进行什么样的操作才能获得 ERROR_WRITE_PROTECT (0x13) 错误代码?

可能弹出软盘驱动器,翻转该开关,然后将其重新插入? 计算机没有软盘的日子可能听起来很奇怪,但应该有软盘驱动器模拟器,并且 VMWare 等虚拟机能够模拟软盘,所以它是可能的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM