草庐IT

block-device

全部标签

python - 如何检查 Python 中是否存在原始(未安装的)Windows 驱动器

我如何检查python中是否存在原始(Windows)驱动器?即“\\.\PhysicalDriveN”,其中N在磁盘编号中现在我可以通过打开并立即关闭它来检查原始驱动器是否存在(以管理员身份)。如果有异常,则原始设备可能不存在,否则存在。我知道这不是很pythonic。有没有更好的办法?os.access(drive_name,os.F_OK)总是返回False。与os.path.exists(drive_name)相同。我宁愿只使用python标准库。os.stat(drive_name)也找不到设备。我的工作代码示例:drive_name=r"\\.\PhysicalDrive1

windows - WmiMonitorRawEEdidV1Block 在 Windows 10 中不再有效

在Windows10的11月主要更新之后,监视器WMI功能不再起作用,尤其是WmiMonitorRawEEdidV1Block返回“不支持”,我在2台计算机上测试了这个,结果相同(它适用于Windows10的初始版本,旧版Windows也适用。在笔记本电脑上通过DisplayPort、HDMI连接进行了测试。Windows10内部版本10586命名空间根\WMIWindows10中是否有新的WMI方法来检索显示器EDID信息? 最佳答案 确认。我看不出明显的原因,这往往是驱动程序问题,但我从即插即用API获取EDID数据没有任何问题

c++ - 大数据 block 的 C++ 中的碎片 (Windows)

我一直在使用malloc()分配内存来开发我的程序。但是,我的调查让我认为我面临着内存碎片问题。我的程序需要5次内存分配,每次分配约70MB。当我使用4个线程运行我的程序时,我需要5x4内存分配,每个内存分配~70MB(而且我不能使用更少的内存)。最后,我希望能够使用我的i7的8个内核,即5x8内存分配。如果我执行5x2malloc()s,程序就可以运行。不适用于5x3malloc()。我一直在阅读有关std::vector和std::deque的内容。我相信std::deque是我解决这个问题的方法,因为std::vector分配了一大块连续的内存作为malloc()确实如此。是否还

c++ - 使用 D3D12Device 调用 DuplicateOutput 失败并显示 E_NOINTERFACE

我一直在尝试制作一个利用桌面复制api的应用程序,但没有使用directx的经验,结果证明这是一个相当大的挑战。似乎一切正常,直到我调用output1->DuplicateOutput(),此时它返回E_NOINTERFACE。msdn文档中未定义此错误,因此我无法诊断问题。我认为这段代码应该可以工作,但我一定遗漏了一些东西。#include#include#includeintmain(){HRESULThr;ID3D12Debug*debug;hr=D3D12GetDebugInterface(IID_PPV_ARGS(&debug));debug->EnableDebugLaye

windows - boost::random_device 的非 Linux 实现

目前,Boost只为Linux(也许是*nix)系统实现了random_device类。有谁知道其他操作系统的现有实现吗?理想情况下,这些实现将是开源的。如果不存在,我应该如何为Windows和MacOSX实现非确定性RNG?提供此功能的任一环境中是否存在API调用?谢谢(很抱歉提出所有问题)! 最佳答案 在MacOSX上,您可以使用/dev/random(因为它是*​​nix)。在Windows上,您可能需要CryptGenRandom函数。我不知道是否有使用它的boost::random_device的实现。

windows - Windows 上的\Device\PhysicalMemory 需要说明

\Device\PhysicalMemory是一个段对象,在Win32API术语中是内存映射文件。鉴于其名称,它可能是一个完全由RAM支持的MMF;是物理页面的一对一映射。这几乎就是我的问题:这个部分对象代表非分页物理内存还是非分页系统地址空间?如果是前者,那么物理内存中的“漏洞”呢?例如,在支持PAE的系统上,系统地址空间下的物理内存实际上可能是“碎片化的”。如果我在将View映射到\Device\PhysicalMemory部分对象后访问这些漏洞,会发生什么情况?我之所以感到困惑,是因为MmMapIoSpace函数采用PHYSICAL_ADDRESSPhysicalAddress参

c# - 连接到 RFID 阅读器时出错 : The maximum baud rate for the device is 8190

您好,我有一个名为“SiliconlabsCP210x”的USBRFID读写器,我在Visualstudio2015中使用C#开发了一个可以读/写的Windows应用程序在RFID卡上,它工作正常......我在我的笔记本电脑上更换了我的Windows(以前的Windows和新的Windows是Windows10)并安装了VisualStudio2017...现在当我打开解决方案并运行应用程序时看到这个错误:System.ArgumentOutOfRangeExceptionoccurredHResult=0x80131502Message=Themaximumbaudratefort

c++ - Qt 写入 xml:QIODevice::write (QFile, "D:/logs.xml"): device not open

我正在尝试将数据保存到Qt中的XML文件中。到处都被告知我需要写这样的检查:if(!file.open(QIODevice::WriteOnly|QIODevice::Text)){qDebug()我总是得到“无法打开”的结果。我就是找不到任何相关信息。如果我不使用这个检查,我会得到这样的错误:QIODevice::write(QFile,"D:/logs.xml"):devicenotopen。我只是不知道该怎么办。这是我在教程中尝试使用的完整代码:QDomDocumentdocument;//MakingtherootelementQDomElementroot=document.

windows - 驱动器中没有磁盘。请插入磁盘到drive\Device\Harddisk\DR5

问题是这样的:批处理程序正在尝试读取已插入或未插入闪存卡的USB驱动器。当其中没有内容时,会显示一条消息:“驱动器中没有磁盘。请将磁盘插入驱动器\Device\Harddisk\DR5。”以图形Windows风格。但是,此时批处理程序已停止。我不介意显示错误,但我不喜欢程序停止。那么,我该如何解决这个问题。我无法探测它,比如通过使用:如果存在X:...因为,是的,您已经猜到了,它也显示相同的错误,并停止批处理程序。我可以在后台模式下启动另一个批处理程序,然后让那个挂起,但这会很麻烦。这让我想起了很多旧消息:中止、重试、失败不过那是DOS框中的一条消息。 最佳

windows - x64 允许每个 block 的线程数少于 Win32?

当我执行一些cuda内核时,我注意到对于我自己的许多cuda内核,x64构建会导致失败,而Win32不会。我很困惑,因为cuda源代码是相同的,而且构建很好。就在x64执行时,它说它需要太多资源来启动。但是x64在概念上不应该比Win32允许更多的资源吗?如果可能的话,我通常喜欢每个block使用1024个线程。因此,为了使x64代码工作,我必须将block缩小到256。有人知道吗? 最佳答案 是的,这是可能的。大概您正在谈论的问题是registers-per-threadissue.在32位模式下,所有指针都是32位的,只需要一个