Delphi和HDD I/O引用、资源预缓存、读/写/查找参数限制

2024-03-21

我有充满字节的动态数组,这些数组是使用 BlockRead() 从 .raw 文件中读取的,从逻辑上讲,此操作需要大量的 Shell 资源,我想知道是否有任何方法可以保留一定数量或限制最大数量读/写/查找用于程序运行时从硬盘驱动器*****

[澄清]:我的意思是在使用 Windows shell/内部应用程序资源执行操作时设置 HDD 的最大读取速度。此时应用程序对硬盘的性能非常敏感,但它会导致多台机器冻结/锁定,因为系统无法管理磁盘操作......

我想知道任何方法、教程,以及在最坏情况下可以找到函数声明和类信息的单元。

据我所知,Pascal 作为 Delphi 的基础并没有提供非常简单的方法,因为最好的方法可能是 TStream 或 TPipeline 使用(TSocket 应该不好,对吧?)...尽管我使用过流,但我不喜欢因为有一些带有 TFileStream 的水下石头......

无论如何 - 请至少给我介绍​​一下磁盘性能管理......


恐怕没有办法使用 Windows API 或某些 Delphi 函数来限制 IO 活动。 (例如与线程不同)

您只能通过在代码中添加睡眠命令或类似命令来减慢 IO 访问速度。

您可以使用以下命令读取当前 IO 活动WMI http://msdn.microsoft.com/en-us/library/aa373083(VS.85).aspx如果 IO 活动较高,则会增加延迟。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Delphi和HDD I/O引用、资源预缓存、读/写/查找参数限制 的相关文章

  • 检测反射 DLL 注入

    在过去的几年中 恶意软件 以及一些渗透测试工具 如 Metasploit 的 meterpreter 负载 已经开始使用反射 DLL 注入 PDF http www harmonysecurity com files HS P005 Ref
  • ListView 多选行为?

    Comtl32 dll v6 0中的ListView进行多项选择 使用Shift键时 如下 x表示选择 00xxxx xxxxxx xxxx00 早期版本的 ListView 的做法如下 00xx00 00xx00 00xx00 有没有办法
  • 以 png 格式剪辑幻灯片 (Delphi 2010)

    I have a filmstrip of images in png format like this 我想知道如何剪辑每个图像并将这些图像放入 TImageList 控件中 并始终保留透明度 EDIT 是的 在设计时 RRUZ 提到的技
  • 我需要避免尝试更新连接到 TSQLQuery 的 Delphi TClientDataset 中的非物理字段

    概要 我的代码正在尝试更新 Delphi XE 中的非物理字段TClientDataset 连接到TSQLQuery以其SQL属性集 作为运行时的结果创建Open命令 我有一个TClientDataset连接到一个TDatasetProvi
  • 如何在 WINAPI 中获取 Windows 10 内部版本、修订号?

    我想使用 WINAPI 在 Windows 10 上获取构建版本 当前窗口版本 10 0 19042 685 我尝试使用 WMI 查询来获取它 select Version BuildNumber from Win32 OperatingS
  • 如何追踪“地址 00000000”的访问违规

    我知道如何创建 map 文件来在错误消息包含实际地址时跟踪访问冲突错误 但是如果错误消息说怎么办 Access violation at address 00000000 Read of address 00000000 我从哪里开始寻找这
  • 如何正确使用和实例化现有预览处理程序

    我正在尝试使用现有的预览处理程序来显示文件的预览 我编写了一个简单的测试程序 以 1 查找给定文件的预览处理程序的 CLSID 2 实例化预览处理程序 3 通过流或文件初始化它 4 在基本窗口上渲染预览 这有效 或多或少 It works
  • VirtualAlloc 对齐方式与分配大小一致吗?

    当使用VirtualAlloc用于分配和提交具有页面边界的两倍大小的虚拟内存区域的 API 例如 void address VirtualAlloc 0 0x10000 MEM COMMIT PAGE READWRITE Get 64KB
  • 获取保证具有完整(4 位)年份的 LOCALE_SSHORTDATE 的正确方法是什么?

    我想创建一个日期时间选择器控件 它显示日期和时间 作为DTS SHORTDATECENTURYFORMAT and DTS TIMEFORMAT风格 由于日期时间选择器中没有内置这种样式 因此我必须自己做GetLocaleInfoEx 我注
  • 如何带参数调用外部程序?

    我想在我的代码中调用一个 Windows 程序 并使用代码本身确定的参数 我不想调用外部函数或方法 而是调用 WinXP 环境中的实际 exe 或批处理 脚本文件 C 或 C 将是首选语言 但如果使用任何其他语言更容易完成此操作 请告诉我
  • Dart 流 .asBroadcastStream 内存泄漏

    在我们的 Flutter 应用程序中 我们存在内存泄漏和流未关闭的情况 我们追踪源代码如下 Rx combineLatest asBroadcastStream RxDart的结果 combineLatest 是单订阅流 添加 asBroa
  • TColorProperty德尔福柏林10.1.2?

    我正在尝试将组件从 Delphi 7 转换为 Delphi Berlin 平面组件 https sourceforge net projects flatstyle https sourceforge net projects flatst
  • 检测桌面是否被锁定[重复]

    这个问题在这里已经有答案了 可能的重复 如何以编程方式确定我的工作站是否被锁定 https stackoverflow com questions 44980 how can i programmatically determine if
  • C# 如何使用 CallNtPowerInformation 和 Interop 来获取 SYSTEM_POWER_INFORMATION

    我正在尝试编写一个小程序 该程序作为服务运行并监视用户是否处于活动状态 如果用户空闲 没有鼠标 键盘 一个小时 则某些进程将被终止 如果用户使用 user32 dll 中的 LASTINPUTINFO 运行它 它就可以工作 但它不能作为服务
  • 如何使用 FieldDefs 在运行时创建新的 SQLite 文件和表?

    我正在使用 Delphi Seattle 在全新的 SQLite 文件中创建一个全新的表 并且仅使用 FieldDefs 和非可视代码 我可以使用 ExecSQL CREATE TABLE 语法创建一个表 但不能如下所示 我得到 没有这样的
  • 如何使 StringGrid 的列适合网格的宽度?

    我已经寻找解决方案很长时间了 但没有任何运气 有谁知道一个简单的方法来做到这一点 例如 我想拉伸网格的第二列以适应网格的宽度 Use the ColWidths财产 像这样 with StringGrid1 do ColWidths 1 C
  • 防止多个实例 - 但还要处理命令行参数?

    我正在从我的应用程序处理与 Windows 相关的扩展文件 因此 当您在 Windows 中双击文件时 它将执行我的程序 然后我从那里处理该文件 如下所示 procedure TMainForm FormCreate Sender TObj
  • 有没有一种方法可以移动文件并能够在中间取消移动?

    我在用着CopyFileEx具有该功能的复制文件 有没有类似的东西可以移动文件 请记住 并非每次移动都很快 移动到不同的驱动器实际上是一个副本 我现在的解决方案是 如果移动到不同的根目录 则复制并删除原始文件 如果移动到相同的根目录 则简单
  • 如何在iOS的Delphi程序中使用IPv6协议

    我尝试在我的移动程序中使用 IPv6 协议 我的服务器位于 NAT 后面的 LAN 内 在服务器上我使用IP端口3000 我已经组织了从路由器端口 45500 到服务器端口 3000 的虚拟服务器 端口转发 在服务器上 我运行 ipconf
  • 在 Delphi 或 C++ Builder 中使用 Chromium Edge WebView2 [重复]

    这个问题在这里已经有答案了 既然 Microsoft Chromium Edge 已经最终确定 是否可以在 Delphi 或 C Builder 中使用它 据我了解 它是基于WebView2成分 是否有一个组件 例如TWebView2或者E

随机推荐

  • SQL 将列数据类型从 nvarchar 更改为 int

    字段的数据类型可以从 nvarchar 更改为 int 吗 alter table employee alter column designation int 这是有效的吗 如果不行的话可以用其他方式实现吗 PS 我正在使用MS SQL S
  • cordova:拍照后上传图像不起作用

    我正在开发一个使用 Apache Cordova 又名 Phonegap 开发的 iOS 应用程序 我想分两步上传照片 1 拍摄照片并以小尺寸显示照片 2 上传照片 我需要一个拍照按钮和一个上传按钮 我的脚本不起作用 怎么了 这是我的 Ja
  • 使用 STS 和 WCF 时遇到不安全或安全错误异常的问题

    我正在使用几个 WCF 服务 所有服务均使用 WIF 和 STS 提供程序进行保护 均使用开箱即用的 Microsoft 代码和示例 这些服务都是使用 NET 3 5 构建的 并且最近全部更新到 NET 4 0 ALL与服务相关的 dll
  • 错误:invalid_scope - 此应用尚未经过验证可以访问

    以前有人经历过这个错误吗 我一直在研究 测试并努力让这个错误消失 但似乎没有任何效果 这是与以下帖子类似的问题 错误 invalid scope google 读取联系人信息 https stackoverflow com question
  • 分解 Chrome 存储同步项目的算法

    我正在尝试使用 chrome storage sync set 保存一个字符串 更正 它是一个包含多个不同大小的字符串的对象 但收到错误 错误 超出 QUOTA BYTES PER ITEM 配额 这是因为限制为 8092 所以我想将字符串
  • 使用构建标签进行Android根检测?

    以下方法是我们以编程方式检测 Android 设备是否已 root 的方法之一 public boolean checkRootMethod1 String buildTags android os Build TAGS if buildT
  • 从数组末尾切片 NSArray

    切片 的最佳方法是什么NSArray从数组的末尾而不是开头开始 例如 查找包含 a 的最后几个元素的子数组 NSArray长度未知 在 Python 中 您可以使用负索引来完成此操作 例如 new list old list 5 3 在 O
  • VBA - 使用数字选择列?

    我正在寻找替代方案code 但使用数字 我想选择5列 起始列是一个变量 然后它从中选择5列 Columns A E Select 我该如何使用integers相反 参考列 像下面这样的东西 For n 1 to 5 Columns n n
  • 三个条件的排列最快的算法是什么?

    有人可以帮助我了解以最少的步骤评估三个条件的最快方法吗 我有三个条件 如果两个条件中的任何一个为真 那么整个表达式就变成了true else false 我尝试过两种方法 if condition1 condition2 condition
  • 如何在 QuickFIX/J 中对传出消息中的字段进行排序

    有没有办法在不重建 QuickFIX J 的情况下对传出消息中的字段进行排序 或者任何可用的配置标志可以根据我们可能使用某些路径标志设置的任何验证文件对消息进行排序 See the QuickFIX J 用户常见问题解答 https www
  • std::cin 输入带空格?

    include
  • 未找到类“Memcached”-(php 5.4.9,windows 7)

    我在 Windows 7 64 位机器 上安装了 php 5 4 9 32 位 并将其配置为作为 php fpm 进程运行 我的 Web 应用程序需要 memcached 因此在我的 php ext 文件夹中安装了 memcached 守护
  • 如何使用 JPA Criteria API 指定左连接的多个条件?

    我想转换以下 SQL 查询 select from region tree country left outer join region tree region on country REG CODE PAR region REG CODE
  • 当它是引用类型的字段时,是否是值类型装箱?

    有代码 struct A int b class B A a int b 问题是 B 中的 a 是否已装箱 B 中的 a 位于栈中还是堆中 A 中的 b 是否已装箱 b是在A栈中还是在堆中 B 中的 b 是否已装箱 b是在B栈中还是在堆中
  • 使用 pyodbc 时 SQL 查询失败,但在 SQL 中可以工作

    我在一个非常简单的脚本上遇到了一些麻烦 我只是想使用 Python pyodbc 模块创建一个新的 SQL Server 数据库 当我在 SQL Server 2012 中执行它时 我尝试传入的 sqlcommand 参数工作正常 但该 p
  • 构建动态 LINQ 查询的最佳方法

    您好 我正在寻找编写动态 LINQ 查询的最佳方法 我有一个类似的功能 public IQueryable
  • mysql数据库中的序列化数据需要组合成一个数组

    我正在 PHP MySQL 工作 我的数据库中有一个名为 hourly 的表 该表中有一个名为 webaddress 的列 这些列已序列化 每列网址有多行 每个网址都是序列化的 我需要拉出每一行 取消它们的序列化 然后将它们放入一个数组中
  • 在 Swing 应用程序中运行 SWT 组件

    我想知道是否有人有尝试运行 Swing 组件内托管的复杂 SWT UI 的经验 我已经成功地进行了一个非常简单的演示 但如果其他人尝试过并且失败 成功地做到了这一点 那么从他们的经验中学习将是很棒的 因此 重申一下 我的应用程序是一个 Sw
  • Windows 上的 JDialog 超出了 Windows 任务栏。有什么解决方法吗?

    这个问题 https stackoverflow com questions 6422931 why jframe hides taskbar when maximized讨论 JFrames 扩展到 Windows 任务栏的一个已知错误
  • Delphi和HDD I/O引用、资源预缓存、读/写/查找参数限制

    我有充满字节的动态数组 这些数组是使用 BlockRead 从 raw 文件中读取的 从逻辑上讲 此操作需要大量的 Shell 资源 我想知道是否有任何方法可以保留一定数量或限制最大数量读 写 查找用于程序运行时从硬盘驱动器 澄清 我的意思