草庐IT

FLAG_BLUR_BEHIND

全部标签

c++ - 跨平台C++ : wrapping OS-specifics behind a class

我正在开发一个应该在Linux和Windows7+上运行的C++项目。这也是我在几年前参加了一个非常简单和简短的基础类(class)之后使用C++的第一周。假设我需要访问文件系统,但由于操作系统有不同的API,我需要创建一个包装类来使事情保持一致。以下是否可行:有一个基类File。我从文件继承WinFile和LinuxFile,它们实现了基类公共(public)方法(例如createFile、readFile等.).然后在两个子类中,我实现了公共(public)方法以映射到特定于平台的方法(WINAPI文件处理和UNIX文件处理)。然后我将使用预处理器指令有条件地在主应用程序中加载Wi

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++ - 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

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");

c++ - 使用 FILE_FLAG_BACKUP_SEMANTICS 后无法更改目录时间戳

我也在尝试使用FILE_FLAG_BACKUP_SEMANTICS后更改目录的时间戳。我的代码片段如下intSetDirectoryTime(char*Path){FILETIMEftCreate,ftAccess,ftWrite;Handle=CreateFile(Path,GENERIC_WRITE,FILE_SHARE_WRITE,NULL,OPEN_EXISTING,FILE_FLAG_BACKUP_SEMANTICS,NULL);if(Handle==INVALID_HANDLE_VALUE){//UnabletoopendirectoryreturnFALSE;}if(Se

c# - WPF DropShadowEffect 和 Blur 内存泄漏

我正在编写一个应用程序,它本质上是一堆松散的xaml屏幕-没有代码隐藏,只是在运行时动态链接到ViewModel。周末在一台旧电脑上运行这个程序时,发生了崩溃。跟踪和重新创建显示igdumd32.dll(英特尔图形驱动程序dll)中存在内存泄漏。经过一些调查后,我编写了2个简单的独立应用程序,在中央屏幕上有一个非常简单的动画。1个没有效果,1个在动画上有dropshadoweffect-没有其他更改,实际上是对第一个应用程序的1行更改(xaml非常冗长,否则我会在此处发布)。我通过redgate的内存分析器工具运行了40分钟。第一个很好:但是第二个在igdumd32.dll和托管代码分

c# - 为什么会为异步/等待状态机生成 bool "flag"?

如果编译以下代码:privateasyncTaskM(){returnawaitTask.FromResult(0);}然后反编译它(我使用了dotPeek)并检查最重要的MoveNext方法,您会看到在开头附近声明了一个bool变量;dotPeek为我选择了“标志”。boolflag=true;在这种情况下,您将在启动第一个异步调用后的默认case语句中看到该变量的一个后续使用者:if(!awaiter.IsCompleted){this.\u003C\u003E1__state=0;this.\u003C\u003Eu__\u0024awaiter11=awaiter;this.\

c# - code beside 和 code behind 的区别

谁能告诉我在Asp.NET中,codebeside和codebehind之间有什么区别? 最佳答案 CodeInPage:表示将我们的代码放入我们的页面。CodeBehind是代码的单独文件。此文件派生自Page,包含服务器控件的声明,并包含所有事件处理程序等。然后aspx文件派生自此类以用于最终页面。CodeBehind解决的两个问题是智能感知需要每个文件使用一种语言才能工作,因此服务器端代码被放在一个文件中,我们很高兴。它还减轻了编译器检测服务器端代码错误的痛苦,因为它只需要自己处理代码文件,而不是混入的ui声明。Code-Be

web和pwn题的简单动态flag实现

作为一个出题人需要有一些觉悟,这周花了三天时间去研究Dockerfile的写法,主要还是为了实现动态flag,思路理顺了就会发现,原来Dockerfile和动态flag这么简单,这里直接现写两个简单的题目来演示一下。web题,首先是需要按照常规逻辑写一个网页,这里就写一个带flag的简单网页,把flag放在源代码里,并注释掉。代码如下,保存为index.php。DOCTYPEhtml>html>head>title>签到title>head>body>";?>body>html>接下来编写Dockerfile,各语句解释就写在后面的注释里吧,正式编写请删掉注释。FROMctftraining/