草庐IT

windows - Winsock Kernel的 "WskSendTo"函数在Win7 SP1上导致 "DRIVER_IRQL_NOT_LESS_OR_EQUAL"BSOD

我正在开发一个名为Npcap的Windows数据包捕获软件。并且它需要发送基于Windows内核的环回原始IP套接字。但是WskSocket->Dispatch->WskSendTo总是导致DRIVER_IRQL_NOT_LESS_OR_EQUALWin7SP1上的蓝屏。奇怪的是,我的代码不会在Win8、Win10等其他系统上触发此BSoD。它只发生在Win7。所以我什至怀疑这是Windows本身的错误还是只是我的错误?谢谢!重现步骤为:安装Npcap0.07r17使用默认选项安装Nmap7.20Beta5(不要安装随附的Npcap)在CMD中,运行nmap-v-O-6localhos

c++ - 将 Windows 上的 32 位和 64 位 Boost 构建到同一文件夹中

我正在寻找config.jam的简单设置,它将使用MSVC在Windows上为x86和x64构建Boost(1.60或更高版本)。理想情况下使用对b2的单个调用——我知道它应该支持从单个调用生成多个输出。对x86和x64有两个单独的调用是可以的,但不是首选。我想要的另一件事是将两组库输出到相同文件夹中。显然,它们需要有不同的名称,所以我希望将-x64放在x64二进制文件名称中的某个位置。而且它仍然需要自动链接,所以我不能手动重命名它们,它必须是构建系统支持的东西。这部分是必不可少的。我已经readb2提供了一个--buildid参数并且自动链接支持BOOST_LIB_BUILDID定义

windows - 当你有很多 32 位和 64 位操作系统的 PC 时,如何选择 "program files"文件夹?

当你有很多32位和64位操作系统和32位或64位应用程序的PC时,如何选择“程序文件”文件夹?我制作了一个文件来创建firebird数据库的备份,但我需要帮助。有时会有一台64位操作系统和32位firebird或winrar的PC。有时,PC具有64位操作系统和64位应用程序,或者32位操作系统具有32位应用程序。如何让这段代码更好地工作?ECHOOFFsetisc_user=sysdbasetisc_password=masterkeydate/t>>tempo.txttime/t>>tempo.txtmode20,5delos.txt/qwmicosgetosarchitectur

c++ - 在 Win32 中从字符串中解析日期

我有一个包含日期的字符串,另一个字符串包含第一个字符串的日期格式。有没有我可以调用的函数将该日期转换为类似SYSTEMTIME结构的东西?基本上,我想要GetDateFormat()的反义词. 最佳答案 它的功能与您描述的不完全相同,但我将从使用COleDateTime::ParseDateTime开始。它适用于本地化的日期时间格式。 关于c++-在Win32中从字符串中解析日期,我们在StackOverflow上找到一个类似的问题: https://stac

windows - 您如何允许 MDI 应用程序中的窗口离开其带有 Win32 的父容器?

我有一个MDI应用程序。我想在子窗口的非客户端标题栏上添加一个图标,允许窗口独立于父MDI容器float,允许用户使用子窗口并将它们任意放置在桌面周围,在MDI之外窗口。我已经看到它完成了,所以我知道这是可能的,但我很难弄清楚如何完成它。我使用的是WTL(Windows模板库),但我将其标记为MFC和Win32,因为我相信基本原则是相同的,而且人们可能了解WindowsAPI的各个方面。 最佳答案 我已经有一段时间没有这样做了,但我认为调用SetParent(your_hwnd,0)让窗口脱离其父窗口就足够了。消息传递会稍微改变,因

c++ - boost::interprocess_mutex 与 Win32 native 互斥锁的性能如何?

请注意,我可以在boost源代码中进行研究,如果没有人提供答案,我可能会这样做来回答我自己的好奇心。但是我确实会问,因为也许有人已经做过这种比较并且可以权威地回答?似乎在进程之间创建一个共享内存映射文件,并通过使用InterlockedIncrement()构造,可以创建一个类似于CRITICAL_SECTION的主要用户模式互斥体,它在进程间同步方面比Win32Mutex性能要好得多。所以我的期望是,boost::interprocess_mutex的Win32实现可能会以这种方式实现,并且比本地API产品快得多。不过我只是有一个假设,我不知道通过现场测试boost::interpr

windows - 32 位用户模式驱动程序可以在 64 位操作系统上运行吗?

我一直在查看一些关于64位驱动程序开发的信息;我发现必须重写驱动程序才能与64位操作系统兼容。但是,我想知道这是否也适用于用户模式驱动程序。我问这个的原因是因为我的理解是用户模式驱动程序通过Win32API,所以理论上它们应该能够在WOW32之上运行。这是真的吗?谢谢,海梅 最佳答案 用户模式驱动程序可以是32位或64位,但请注意以下几点:用于打印、扫描和相机的用户模式驱动程序必须是64位。不允许使用旧版API(特定于WindowsNT®4.0)。http://www.microsoft.com/whdc/driver/kernel

c# - 在 C#/VB.NET 或 C++ Win32 中启用/禁用 Aero

如何在C#.NET或C++Win32中禁用aero效果???这是我在C/C++中的测试代码,但只有在我的应用程序运行时才有效#includeintmain(){DwmEnableComposition(DWM_EC_DISABLECOMPOSITION);while(true);//...return0;}//LINKdwmapi.lib谢谢编辑:我想通了#include#includeintWINAPIWinMain(HINSTANCEhI,HINSTANCEhP,PSTRstr,intc){DwmEnableComposition(DWM_EC_DISABLECOMPOSITION

c - dlmalloc 在 Win7 上崩溃

一段时间以来,我一直很高兴地使用dlmalloc对于跨平台项目(Windows、MacOSX、Ubuntu)。然而,最近似乎使用dlmalloc会导致Windows7上的退出时崩溃。为了确保它在我的项目中不是什么愚蠢的东西,我创建了一个super最小的测试程序——它除了从main返回之外什么都不做。一个版本(“malloctest”)链接到dlmalloc,而另一个(“regulartest”)则没有。在WinXP上,两者都运行良好。在Windows7上,malloctest崩溃。您可以看到测试的截屏视频here.我的问题是:为什么会这样?它是dlmalloc中的错误吗?还是Windo

从 XP 切换到 WIN2K 时出现 Java 异常

我有一个应用程序将JNI用于DLL中的某些native函数。该应用程序在WindowsXP上运行正常,但是当我在Window2000上运行该程序时,我收到以下信息:java.lang.UnsatisfiedLinkError:C:\ProgramFiles\Compunetix\stixDlls\CMSCIDll.dll:Thespecifiedprocedurecouldnotbefoundatjava.lang.ClassLoader$NativeLibrary.load(NativeMethod)atjava.lang.ClassLoader.loadLibrary0(Unkno