You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows中GENERIC_WRITE常量的十六进制值?x64汇编CreateFileA写文件疑问

Windows中GENERIC_WRITE常量的十六进制值

你要找的GENERIC_WRITE常量的十六进制值是**40000000h**,巧的是你代码里已经给rdx寄存器赋值了这个值(mov rdx, 40000000h),这部分其实是完全正确的。

顺便补充几个常用的文件访问权限常量,方便你后续参考:

  • GENERIC_READ:80000000h(你已经知晓的)
  • GENERIC_WRITE:40000000h
  • 若需要同时拥有读写权限,可将两个值按位或,得到C0000000h(即80000000h | 40000000h)

再快速过一遍你的汇编代码,调用CreateFileA的参数设置是合理的:

  • rcx指向文件名,没问题
  • rdx设置为GENERIC_WRITE权限,正确
  • r8设为0表示独占访问的共享模式
  • r9设为0使用默认安全属性
  • 栈上的参数依次是创建方式(2对应CREATE_ALWAYS)、文件属性(80h对应FILE_ATTRIBUTE_NORMAL)、模板文件句柄(0)

如果后续写入文件时遇到问题,建议先检查CreateFileA返回的句柄FD2是否有效——如果返回值是INVALID_HANDLE_VALUE(即FFFFFFFFFFFFFFFFh),说明文件打开失败,需要排查路径、权限等问题。

内容的提问来源于stack exchange,提问作者SPFort

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:51:41