锁定文件的一个块

2024-06-08

我有一个大小为 192k 的文件,我想锁定文件的中间部分。

例如)我想用 c# 锁定文件的 64k-128k。知道如何锁定文件的那部分吗?


你需要使用锁定文件Ex http://msdn.microsoft.com/en-us/library/windows/desktop/aa365203%28v=vs.85%29.aspx

锁定指定文件以供调用进程进行独占访问。该函数可以同步或异步操作,并且可以请求独占锁或共享锁。

您正在寻找共享锁。

[DllImport("kernel32.dll")]
static extern bool LockFileEx(IntPtr hFile, uint dwFlags, uint dwReserved,
   uint nNumberOfBytesToLockLow, uint nNumberOfBytesToLockHigh,
   [In] ref System.Threading.NativeOverlapped lpOverlapped);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

锁定文件的一个块 的相关文章

  • clangd 中有“includePath”选项吗?

    我曾经使用 VSCodeC C https marketplace visualstudio com items itemName ms vscode cpptools扩大 这个扩展中有一个功能 在 json 文件中 称为 includeP
  • 将 ManualResetEvent 包装为可等待任务

    我想等待手动重置事件 并超时并观察取消 我想出了类似下面的东西 手动重置事件对象由我无法控制的 API 提供 有没有办法在不占用和阻塞 ThreadPool 线程的情况下实现这一点 static Task
  • WTL 子窗口事件处理

    我正在开发窗口应用程序 因为我在左侧和右侧有 2 个子窗口 我想分别处理两个窗口的输入事件 如何实现 My code class EditorWindow public DxWindow public CSplitterWindow m v
  • 以编程方式解析和编辑 C++ 源文件

    我想以编程方式解析和编辑 C 源文件 我需要更改 添加代码的某些部分 即函数 类块等 中的代码 我也 最好 能够得到评论 我想做的部分事情可以用下面的代码来解释 CPlusPlusSourceParser cp new CPlusPlusS
  • 使用自定义源增强 Iostreams zlib_error

    我正在尝试使用zlib decompressor通过一个解压缩数据istreambuf iterator 我找不到使用输入迭代器作为流的输入的内置方法 如果已经存在 请指出一种方法 所以我写了这个源代码 template
  • 异步方法调用和模拟

    为什么模拟用户上下文仅在异步方法调用之前可用 我编写了一些代码 实际上基于 Web API 来检查模拟用户上下文的行为 async Task
  • 是否有合法的方法使用运算符 << 打印元组和对?

    我有一组模板 函数 允许我打印元组 对 假设元组 对中的每种类型都有operator lt lt 为其定义的 不幸的是 由于 17 4 3 1 添加我的内容是非法的operator lt lt 重载到std 有没有其他方法可以让 ADL 找
  • 为什么我们不能将新字符串分配给 char 数组,而是分配给指针?

    我试图将字符串重新分配给预初始化的数组 a 但我得到的只是一个错误 main char a Sunstroke char b Coldwave a Coldwave b Sunstroke printf n s s a b 错误 从类型 c
  • 在 ASP.NET MVC 3 Web 应用程序项目之间共享视图

    我有几个 ASP NET MVC 3 Web 应用程序 它们有很多通用对象 相同的登录控制器 他们的登录系统之间的一些差异体现在web config files 抬头 明细视图 发票 付款单 付款单等 为了减少代码的冗余 我将通用控制器和视
  • 从 ASP.NET 插入到 MS Access

    我们正在尝试建立一个专门用于内联网的服务台票务系统 决定使用 Visual Studio 2008 Express 的 ASP NET C 如果需要的话 我们有一个完整版本 没什么花哨的 几页抓取 NTLM 信息 系统信息并将其与问题一起存
  • 如何更改 gdb 中的值

    所以我有这个家庭作业代码 我必须使用 gdb 进行调试 我发现了问题 但不知道如何使用gdb来改变它 define ARRAYSIZE 12 for i ARRAYSIZE 2 i gt 0 i for j i j lt ARRAYSIZE
  • 可以取消链接以读写方式打开的文件

    在我的程序 在 Mac OS X 上 中 我使用以下代码打开该文件 int fd fd open filename O RDWR 删除文件的程序如下 unlink filename 就我而言 我有相同的文件被打开和删除 我观察到以下情况 打
  • C 中的 const 和指针

    将 const 与指针一起使用可能会导致指针对象无法通过使用相关指针取消引用来修改 但为什么我也不能修改指针不直接指向的内容呢 例如 int a 3 const int ptr a ptr 5 不会编译 但为什么 ptr 2 5 还编译不了
  • 为什么函数不能跟在 Main 之后

    为什么我不能在 main 之后放置一个函数 Visual Studio 无法构建程序 这是 C 怪癖还是 Visual Studio 怪癖 eg int main myFunction myFunction 会产生 main 无法使用 my
  • 如何在网络浏览器中打开 Excel?

    单击按钮时我需要在网络浏览器中打开 Excel 如何在 asp net 中执行此操作 您无法在客户端 浏览器 计算机上控制和启动软件 为什么 安全 如果这是可能的话 黑客早就接管了所有计算机 你能解释一下吗exactly你想做什么 如果您解
  • 如何在 WinRT 中从 C++ 获取堆栈跟踪?

    我需要从 C 应用程序获取堆栈跟踪 并将其序列化为字符串 以便稍后解析 我在 Windows 上听说过的唯一 API 是 StackWalk64 它似乎不受支持 如何在 Windows 应用商店应用程序中从 C 获取堆栈跟踪 我能够调试复杂
  • 生成一定范围内的 N 个随机数,其总和为常数

    我想生成从 a b 之间的特定分布 例如均匀随机 抽取的 N 个随机数 其总和为常数 C 我尝试了一些我自己能想到的解决方案 以及在类似线程上提出的一些解决方案 但是他们中的大多数要么适用于有限形式的问题 要么我无法证明结果仍然遵循所需的分
  • 画笔和钢笔使用指南

    制作 GDI 画笔和钢笔有多贵 我应该在添加所需的基础上创建它们并将它们包装在 using 中以便快速处理它们 还是应该创建一个类似于 System Drawing Brushes 类的静态类 IMO 它们足够高效 您通常不应该创建在多个方
  • C# 如何更改 windows.forms.listview 中的网格线颜色

    如何更改 windows forms listview 中的网格线颜色 我认为没有办法在不覆盖 Paint Event 的情况下在列表视图上执行此操作 但是 如果您能够切换到网格视图 您可以这样做 this dataGridView1 Gr
  • HTTPS文件下载C#

    我需要下载隐藏在 HTTPS 连接后面的文件 我对下载安全网站后面的文件不熟悉 我尝试使用凭据来解决此问题 但无济于事 据我所知 您需要创建并使用证书来完成此操作 但我没有找到任何示例 任何帮助表示赞赏 这就是我现在所拥有的 WebClie

随机推荐

  • 如何在 Eclipse 中使用 Hibernate Tools 生成 DAO?

    我在用着 Eclipse Java EE IDE Web 开发人员 版本 Indigo 发布 使用 hibernate 工具 我对 Eclipse 中的 hibernate 很陌生 所以我学习如何配置 hibernate 并使用注释生成 P
  • 同一脚本但具有不同输入参数的 SLURM sbatch 作业数组并行运行

    我遇到一个问题 我需要启动相同的脚本但使用不同的输入参数 说我有一个脚本myscript py p
  • JMS 和 CORBA 之间的区别?

    我刚刚读到CORBA and JMS 它们似乎都被用来实现经纪商架构 模式 我对他们有几个问题 1 我还是不太清楚它们之间的区别 请有人解释一下吗 2 当今的IT解决方案中是否使用CORBA 或者说它正在失去魅力 3 JMS可以取代CORB
  • 在远程 playbook 中运行 ansible 本地任务

    我试图让这个任务在本地运行 在运行剧本的机器上 name get the local repo s branch name local action git branch awk print 2 register branchName 我尝
  • pom.xml 中的 Maven 标记

    默认情况下 Maven 将所有依赖项下载到 user home m2 repository 目录 我读到了 LocalRepository 标签 它允许我们更改默认路径 我尝试添加此标签在 pom xml 文件中添加不同位置 但我在 pom
  • Primeng 时间表与 Angular2 webpack

    我将使用 Primeng 时间表 http www primefaces org primeng schedule http www primefaces org primeng schedule 在基于 Angular2 webpack
  • 使用 Visual Studio 复制文件?

    我想创建一个 Visual Studio 我正在使用 VSTS 2008 项目 它只执行文件复制工作 更详细地说 我将向该项目添加一些文件 并将该项目复制文件 包含在该项目中 到某个目标位置我构建该项目 有什么想法如何在 VSTS 中做到这
  • 无法连接到CFS节点

    我删除了 或停用 不记得了 一个 DSE 分析节点 带有 IP10 14 5 50 几个月前 当我现在尝试执行dse shark CREATE TABLE ccc AS SELECT 我现在收到的查询 15 01 22 13 23 17 E
  • SQLAlchemy 是否会从同一连接重置 SQLAlchemy 会话之间的数据库会话?

    SQLAlchemy 利用连接池 这意味着相同的连接可以在不同的 SQLAlchemy 会话之间重复使用 但是 单个 SQLAlchemy 会话包含在其自身内并在关闭后被丢弃 然而 连接保持 活动 状态 我想使用 set config 将一
  • 方向更改时视图高度/宽度值错误?

    我实现了 onConfigurationChanged 来读取方向配置更改时视图高度和宽度的值 Override public void onConfigurationChanged Configuration newConfig supe
  • PHP:分离业务逻辑和表示逻辑,值得吗? [复制]

    这个问题在这里已经有答案了 可能的重复 为什么要在 PHP 中使用模板系统 https stackoverflow com questions 436014 why should i use templating system in php
  • 使用 for 循环创建链表

    这是我的结构 struct ListItem int data struct ListItem next 假设链表的第一个节点的 data 0 我想编写一个 for 循环来创建大小为 5 的链表 但我不知道如何工作 我尝试了以下方法 int
  • 如何限制 Android 设备网络速度以进行测试

    我正在测试一个 Android 应用程序 该应用程序在低质量网络上管理其内容时遇到一些问题 我无法验证问题是否仍然存在 因为以我家的网络速度 120mb s 在我设法开始复制路线之前 所有内容都已经下载完毕 在这种情况下 不能选择使用 An
  • 当 REST 中的资源不支持操作时,HTTP 状态代码 404 或 501

    我有一个 REST 服务 根据正在查看的资源类型 我有某些可用的操作 So Resource1支持Operation1 and Operation2 eg Resource1 Operation1 Resource1 Operation2
  • Google Apps 脚本:如何水平对齐 inlineImage

    我有以下代码 它是一个更大程序的一部分 我正在尝试将图像从我的 Google 驱动器插入到 Google 文档中 并调整其大小并居中 到目前为止 我能够让程序插入图像并调整其大小 但我不知道如何使 inlineImage 居中 我是使用谷歌
  • 使用 overridePendingTransition 时,在被调用的 Activity 中修改 UI 视图非常慢

    前几天更新的时候遇到了一个问题Action Bar基于结果的菜单图标AsyncTask 根据 AsyncTask 结果立即更新操作栏菜单项 https stackoverflow com questions 29239804 updatin
  • 如何在雅虎股票 API 中查找指数

    我正在使用雅虎的股票 API 来获取股票报价 如此处所述 http www gummy stuff org Yahoo data htm 基本上 我只是组装一个像这样的链接 这将为我提供这些股票 DOW MSFT AAPL GOOG 的当前
  • Golang、mysql:错误1040:连接过多

    我正在使用 github com go sql driver mysql 驱动程序 我打开一个数据库 db err sql Open mysql str 然后我有两个函数 每个函数被调用 200 次 并使用以下 mysql 代码 rows
  • Mercurial:使一个分支与另一个分支相同

    我正在与另一位相对较新的开发人员合作 为了让我能够对她的工作进行代码审查 我让她创建了一个分支 我可以审查该分支 如果我对更改感到满意的话 还可以定期合并该分支 该分支已被清除 所以我只想 重置 它 使其与主线相同 这样她就可以从干净的代码
  • 锁定文件的一个块

    我有一个大小为 192k 的文件 我想锁定文件的中间部分 例如 我想用 c 锁定文件的 64k 128k 知道如何锁定文件的那部分吗 你需要使用锁定文件Ex http msdn microsoft com en us library win