草庐IT

flag_modified

全部标签

c++ - 具有重叠 I/O 的 FILE_FLAG_NO_BUFFERING - 字节读为零

我在使用带有重叠I/O的标志FILE_FLAG_NO_BUFFERING时观察到一个奇怪的行为。我调用了一系列ReadFile()函数调用,稍后使用GetOverlappedResult()查询它们的状态。我所说的奇怪行为是,即使文件句柄良好并且ReadFile()调用返回时没有任何错误(预期的ERROR_IO_PENDING除外),从GetOverlappedResult()调用返回的“字节读取”值是某些文件为零,每次我运行代码时,它都是一组不同的文件。如果我删除FILE_FLAG_NO_BUFFERING,事情就会开始正常工作,并且没有字节读取值为零。下面是我如何使用FILE_FL

windows - 为什么我不能使用 FILE_FLAG_BACKUP_SEMANTICS 打开 GENERIC_ALL 或 FILE_ALL_ACCESS 文件?

我正在尝试使用FILE_FLAG_BACKUP_SEMANTICS来绕过文件权限,但如果我请求GENERIC_ALL或等效的FILE_ALL_ACCESS它就不起作用作为访问掩码。CreateFile函数返回ERROR_ACCESS_DENIED。例如,h=CreateFile(L"c:\\working\\backup-semantics-test\\xyzzy\\test.txt",FILE_ALL_ACCESS,FILE_SHARE_WRITE|FILE_SHARE_READ|FILE_SHARE_DELETE,0,OPEN_EXISTING,FILE_FLAG_BACKUP_S

c - 使用和不使用 FILE_FLAG_NO_BUFFERING 的 NTFS 文件访问时间

我正在尝试对NTFS的文件读取时间(顺序访问)进行基准测试。我的代码获取开始时间,执行大小等于4096字节(系统上NTFS的簇大小)的读取并记录结束时间。然后存储两个时间之间的差异,并重复该过程,直到到达文件末尾。我目前使用的文件大小是40K,所以得到10个时差值。当访问没有FILE_FLAG_NO_BUFFERING打开的文件(使用CreateFile)时,第一个block的访问时间接近30微秒,然后下降到大约7微秒用于后续访问(由于缓存)。当使用FILE_FLAG_NO_BUFFERING时,第一个block的访问时间接近21毫秒,随后的访问时间下降到大约175微秒。第一个bloc

windows - FILE_FLAG_NO_BUFFERING 如何与向通信设备打开的句柄交互?

正如标题所说,我正在编写一个网络程序,我在其中使用CreateFile打开网络驱动程序的句柄,并且我一直在试验NO_BUFFERING标志。大多数文档甚至都不会提及将其与通信设备一起使用,而那些这样做的文档(又名MSDN引用等)只是简单地提到您可以。有谁知道这会如何影响与设备的通信? 最佳答案 这是一个设备驱动程序实现细节,您在CreateFile()调用中指定的选项在IRP_MJ_REQUESTrequest中传递.我链接的那个是用于文件系统的,非常漂亮。通过IrpSp->Parameters.Create.Options链接单击

c++ - ldap_modify 函数通过访问冲突?

我正在尝试使用ldap_modify函数修改AD属性值...代码如下...LDAPMod*list_of_attrs[1]={0};char*Password[]={"Password2"};LDAPMessage*result=NULL;intmsgid;intrc=0;LDAPModattribute2;attribute2.mod_type=(PCHAR)"Passwordnumber";attribute2.mod_op=LDAP_MOD_REPLACE;attribute2.mod_vals.modv_strvals=Password;list_of_attrs[0]=&at

c++ - 如何在 C++ 中 "modify"系统 ("pause")

这个问题在这里已经有了答案:Changeoutputofpausecommandinbatchscript(11个答案)关闭8年前。所以我知道system("pause");会暂停程序,直到在显示此消息时按下一个键:“按任意键继续...”。我的问题是:我能以某种方式修改显示的消息吗?

windows - 除了 "flags"参数外,ChildWindowFromPointEx 和 ChildWindowFromPoint 有何不同?

WindowsAPI有ChildWindowFromPoint()和ChildWindowFromPointEx()函数,它们的区别在于后者有uFlags参数指定要跳过的窗口。看起来如果我将CWP_ALL传递给ChildWindowFromPointEx(),我将获得与使用ChildWindowFromPoint()完全相同的效果>.uFlags参数的唯一区别是什么?我可以只在任何地方使用ChildWindowFromPointEx()并在需要ChildWindowFromPoint()行为时传递CWP_ALL吗? 最佳答案 如果有

c++ - HTTP_RECEIVE_REQUEST_FLAG_FLUSH_BODY 不复制 http body

根据MSDNdocumentation,传递到HttpReceiveHttpRequest函数中的HTTP_RECEIVE_REQUEST_FLAG_FLUSH_BODY标志导致实体主体被复制到传入的HTTP_REQUEST结构中。我写了一个简单的http服务器(见下文),它调用这个函数并设置了这个标志。然后,我从测试客户端发送了一个4MB的POST请求,并将调试器附加到http服务器,以查看函数返回后有多少字节被复制到HTTP_REQUEST结构中;我观察到这没有复制http正文,只复制了header。有没有办法让HttpReceiveHttpRequest将整个4MB主体复制到HT

c# - 在进行备份时使用目录的 Last Modified 时间戳是否可靠?

我正在设计一个简单的增量备份工具。有没有可能,在我修改目录内容后,该目录的“上次修改”属性将保持不变?原因可能是NTFS故障或错误,我不知道。我发现有一个选项NtfsDisableLastAccessUpdate。是否也可以关闭修改时间戳更新?我想知道这个属性有多可靠,这样我就可以决定用它来备份文件系统是否是个好主意。我正在使用FileSystemInfo.LastWriteTime在C#中提取该信息。 最佳答案 我不认为,最后修改的时间戳是可靠的。时间戳由您使用的文件系统决定。例如FAT32在处理修改/创建时间时使用本地时间戳。而

windows - 带有 SEE_MASK_FLAG_NO_UI 的 ShellExecuteEx 仍然显示消息

在我的系统上,.xyz扩展名根本没有注册。因此,当我在资源管理器中双击.xyz文件时,Windows10会弹出标准的“您希望如何打开此文件”对话框。现在,当我运行这个简短的代码片段时,会显示与上面相同的对话框,即使我在sei.fMask中放置了SEE_MASK_FLAG_NO_UI标志:SHELLEXECUTEINFOsei={0};sei.cbSize=sizeof(SHELLEXECUTEINFO);sei.fMask=SEE_MASK_FLAG_NO_UI;sei.hwnd=AfxGetMainWnd()->GetSafeHwnd();sei.lpVerb=_T("open");