草庐IT

前沿信息

全部标签

windows - 如何为 ReadFileEx() 的完成例程提供上下文信息?

Win32ReadFileEx定义为:BOOLWINAPIReadFileEx(__inHANDLEhFile,__out_optLPVOIDlpBuffer,__inDWORDnNumberOfBytesToRead,__inoutLPOVERLAPPEDlpOverlapped,__in_optLPOVERLAPPED_COMPLETION_ROUTINElpCompletionRoutine);我正在尝试弄清楚如何使完成例程(最后一个参数)在操作完成时调用动态函数指针。似乎没有办法传递用户数据。有什么想法吗? 最佳答案 传入R

c++ - Windows 中有关 PTE(页表条目)的信息

为了更容易发现缓冲区溢出,我正在更改我们的自定义内存分配器,以便它分配一个完整的4KB页面,而不是仅分配所需的字节数。然后我更改页面保护和大小,这样如果调用者在其分配的内存块之前或之后写入,应用程序会立即崩溃。问题是虽然我有足够的内存,但应用程序永远不会完全启动,因为它耗尽了内存。这有两个原因:由于每次分配都需要4KB,我们可能很快就会达到2GB的限制。如果我制作一个64位可执行文件(还没有尝试过),这个问题就可以解决。即使我只需要几百兆字节,分配也会在某个时刻失败。第二个问题是最大的一个,我认为它与PTE的最大数量有关(页表条目,它存储有关虚拟内存如何映射到物理内存的信息,以及页面是

windows - 如何在 Visual Studio 中将版本信息添加到已编译的 EXE 文件中?

我有一个C++控制台应用程序,我想在EXE文件中添加一个版本号。如果这个版本会随着每次构建自动递增,那就更好了。这在VisualStudio2013中有可能吗? 最佳答案 第一部分很简单。右键单击解决方案中的ResourceFiles文件夹,添加、资源、版本。只需根据需要编辑字段。该编辑器在Express版afaik中不可用。第二部分,不,自动递增版本并不简单。有用于此的构建自动化工具,您在构建服务器上使用的那种。如果你使用一个,你就不会问这个问题。 关于windows-如何在Visua

c++ - 如何以编程方式检索 C++ 中 64 位进程的详细信息?

我的目标是以编程方式获取64位进程的完整命令行。我已经理解并编写了这段代码,我在其中对所有当前正在运行的进程进行了进程遍历,并获取了它们的每一个细节。但问题是此代码无法对64位进程(不在WOW64下运行的进程)执行相同的操作。#include#include#include#include#include#includeusingnamespacestd;BOOLGetProcessList(FILE*f);BOOLListProcessModules(DWORDdwPID,FILE*f);BOOLListProcessThreads(DWORDdwOwnerPID,FILE*f);v

python - 我们可以在 Python 中使用 os.listdir 获取时间戳信息吗(如 ls -l)?

我联系一个SFTP服务器并根据修改后的时间戳显示文件。目前,它是使用类似的东西完成的:files=os.listdir(SFTP)遍历文件并使用os.stat获取时间戳。用Python对最终列表进行排序。当SFTP位于不同的服务器上时,第2步中的循环成本非常高,因为它必须为每个文件从服务器到SFTP进行网络调用。有没有办法使用os.listdir或类似的API获取文件和修改时间?我使用的是Windows后端,SFTP连接通常是使用win32wnet.WNetAddConnection2完成的包裹。一个通用的解决方案会很有帮助,如果不是一个特定的解决方案也应该没问题。

c - 如何在c中获取硬盘信息?

我正在使用MSVS2008。我正在用c编写应用程序,想知道确定硬盘信息(例如可用空间和总容量)的最佳方法是什么。谢谢 最佳答案 Win32API引用是您应该查看的地方。免费空间的调用是GetDiskFreeSpaceEx() 关于c-如何在c中获取硬盘信息?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4208784/

windows - 帮助我了解 Process Explorer 中的这些内存统计信息

我正在尝试对我的大型财务计算运行所需的内存量进行非常粗略的测量。它是一个非常简单的命令行工具,可以为大量金融工具定价,然后打印出结果。我决定使用ProcessExplorer查看程序的内存需求。有人可以解释一下屏幕截图中标记为a和b的两个字段之间的区别吗:我目前认为:标记为“a”(峰值专用字节数)的值是在任何瞬间分配给进程的最大内存量(磁盘上的实际物理内存和虚拟内存)。标记为“b”(PealWorkingSet)的值是进程生命周期中任何时刻分配的最大物理内存量。 最佳答案 来自here:Theworkingsetisthesetof

windows - 如何使用应用程序 list 指定的详细信息?

我正在升级非托管C++应用程序以通过添加list来使用XP/Vista样式的公共(public)控件。根据applicationmanifests上的MSDN页面,您需要在list中指定名称和版本,以及可选的描述:Application'sdescriptionhere如何使用这些详细信息?有amention关于程序集具有相同的主要版本和次要版本所暗示的向后兼容性,但这似乎不适用于应用程序。我也无法在WindowsXP上的应用程序属性中看到list指定的名称、版本或描述。改变这些有什么影响?是否值得让版本保持最新? 最佳答案 我认为

windows - 使用 Visual Studio 集成的 WiX 托管自定义操作中没有调试信息

我已经成功地使用MakeSfxCA在C#中创建了一个自定义操作,这在很大程度上是有效的。但是,有一些问题需要调试才能解决。(“printf-debugging”还不够。)但是所有调试信息都丢失了。当从VisualStudio项目调用MakeSfxCA时,.pdb文件未作为参数传递,因此创建的CA-dll中不包含调试信息。如果我手动运行MakeSfxCAMakeSfxCAMyDLL.CA.dllSfxCa.dllMyDLL.dllMyDLL.pdbCustomAction.config然后调试信息包含在创建的自定义操作dll中。如何让WiX-CA-project自动添加pdb-info?

windows - gpgsm -a --export-secret-key-p12 [keyid] 在windows下显示错误信息 "No secret key"

已安装gpg4win2.2版。我已经使用gpgsm--gen-key>test.p10成功创建了证书我想使用gpgsm--export-secret-key-p12将创建的证书请求导出为pkcs12格式,但是在导出到p12时我收到错误消息“NoSecretkey”当我在命令提示符下运行gpgsm--list-secret-keys时,它确实什么都不显示。为什么导出步骤会失败?以及生成证书时key在哪里? 最佳答案 IhaveSuccessfullycreatedthecertificateusinggpgsm--gen-key>te