草庐IT

双系统

全部标签

c++ - 有没有办法将整个文件从文件系统微型过滤器驱动程序(内核模式)传递到用户模式应用程序?

我有一个使用WDK8.1示例的扫描仪文件系统微型过滤器驱动程序。我想知道我是否可以将整个文件发送到用户端应用程序,这样我就可以进行更复杂的计算,例如MD5哈希或其他任何东西,这样我就不必在mini中编写更复杂的操作过滤器驱动程序,而不是在用户应用程序中,我不介意引入windows.h并且我可以在堆上分配内存而不是使用ExAllocatePoolWithTag和类似的东西。我可以在一次通知中将整个文件传递到用户空间模式吗?如果不是,我将如何进行分块和同步。这是8.1扫描仪文件系统微型过滤器驱动程序示例的接口(interface),它指示微型过滤器驱动程序与用户端应用程序之间的通信:/*+

c# - Windows 如何解决冲突的文件系统权限/权利?

在Windows的安全体系中,一个用户可以属于多个组,一个组又可以包含其他的组。在Windows中解决权限冲突的“规则”是什么?例如,假设用户在A组和B组中。A组对文件具有“拒绝读取”,而“B组”具有“允许读取”。用户可以读取文件吗?如果用户本身已被拒绝阅读某些内容的权利,但它所在的组明确允许该权限怎么办?虽然我知道如何通过AccessRules获取特定文件系统资源的权限以及它们公开的权限,但由于规则针对的是特定的IdentityReference,它可能是用户或组,我已经看到冲突并正在尝试确定找出“谁赢了”的逻辑。...或者是否有一种已知的方式说“让我获得该用户的所有权利,同时考虑到

c++ - WinINet API 可以在 Windows Server 操作系统上使用吗?

我一直在寻找一种在我的C++代码中为网页下载HTML标记的快速方法。我遇到了似乎非常易于使用的WinINetAPI。但后来我在他们的MSDN页面底部注意到这条消息,比如InternetOpen:Note:WinINetdoesnotsupportserverimplementations...这是否意味着如果我的GUI应用程序在WindowsServer2008/R2/2012/R2等平台上运行,我将无法使用它?有人可以澄清他们的意思吗? 最佳答案 该注释意味着WinINet不能用于实现Web服务器——它只能作为HTTP客户端运行。

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

windows - Powershell 是否存在语言中立的文件系统对象动词?

当我想使用Powershell固定文件夹到文件资源管理器的快速访问部分时,我会这样做$folderPath="C:\Windows"$shell=New-Object-ComObjectshell.application$folder=$Shell.Namespace("$folderPath").Self$verb=$folder.Verbs()|Where-Object{$_.Name.replace('&','')-match'PintoQuickaccess'}if($verb){$verb.DoIt()}由于Verb名称匹配,如果此函数在非英语Windows上运行,则该函数将

windows - 在 Windows 上获取系统 "load"

我正在寻找一种在Windows上获取当前“负载”(如在Unix中:ThenumberofprocesseswhicharewaitingfortheCPU/data)的方法。这可能吗?背景:默认情况下,Windows会告诉你CPU使用了多少或者网络流量,RAM使用等等。从性能的角度来看,这是没有用的。当病毒扫描程序阻塞我的IDE时,我不在乎97%的CPU空闲。我想知道进程是否因等待某些资源而被阻塞。 最佳答案 System\ProcessorQueueLength计数器会告诉您有多少线程正在等待CPU资源。LogicalDisk\C

windows - 如何以编程方式检测系统热键?

我正在寻找一种以编程方式检测系统中热键的方法。我的应用程序支持可配置的热键来执行不同的操作,我希望能够判断另一个应用程序是否已经使用了热键或者它是内置的Windows热键(如Win-L以锁定工作站)。如果它是另一个拥有热键的应用程序,我希望能够将其显示给用户。至少是exe的名称。我知道三种使用热键的方法:使用标准API的系统Hook使用属性对话框中的热键功能作为快捷方式轮询异步key状态并响应我怀疑我能否检测到第三种类型,但其他两种呢?还有其他我需要了解的情况吗? 最佳答案 我可以想到三种使用标准API的方法:注册热键SetWind

c++ - 捕获屏幕的替代方法? (C++, Windows 操作系统)

keybd_event(VK_SNAPSHOT,0x45,KEYEVENTF_EXTENDEDKEY,0);keybd_event(VK_SNAPSHOT,0x45,KEYEVENTF_EXTENDEDKEY|KEYEVENTF_KEYUP,0);HBITMAPh;OpenClipboard(NULL);h=(HBITMAP)GetClipboardData(CF_BITMAP);CloseClipboard();...通常这很好用。但如果前景窗口发生变化并锁定剪贴板,则它无法打开剪贴板。是否有任何替代方法来捕获屏幕-也可以在后台工作-?谢谢, 最佳答案

系统配置目录的 Windows 等价物

我正在用Ruby开发一个CLI应用程序,我想允许通过/etc/appnamerc的标准配置文件级联在Unix中进行配置。,~/.appnamerc.但是,该应用程序也意味着在Windows环境中运行,我不确定将/etc/appnamerc之类的文件放在哪里(C:\windows\system32\etc\drivers似乎不是正确的位置)。此外,我决定查找系统配置文件的任何方案还需要考虑不同版本的Windows,即C:\Users与C:\DocumentsandSettings.至于特定于用户的配置,我也不确定我的应用程序在哪里寻找特定于用户的配置文件,以及类似的东西的标准命名约定是什

windows - BSD 以外的操作系统的原子加载/存储?

在BSD提供的原子操作中(在atomic(9)手册页中给出),有atomic_load_acq_int()和atomic_store_rel_int()。在寻找其他操作系统的等效项时(例如,通过阅读MacOSX的atomic(3)手册页,Solaris的atomic_ops(3C)手册页,和Windows的Interlocked*()函数),似乎没有任何(明显的)等价物用于原子地读/写int。这是因为它暗示那些为int读/写的操作系统默认保证是原子的吗?(或者你必须在C/C++中使用declarethemvolatile吗?)如果不是,那么如何在这些操作系统上对int进行原子读/写?(