社区
API 调用
帖子详情
createfile函数问题
huangxinru
2006-11-21 05:26:27
我调用createfile函数获取文件修改日期。在2000下结果正常,但在xp下该函数的返回值却是-1。请问这是怎么回事呀?该如何解决呢?
...全文
219
9
打赏
收藏
createfile函数问题
我调用createfile函数获取文件修改日期。在2000下结果正常,但在xp下该函数的返回值却是-1。请问这是怎么回事呀?该如何解决呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
青锋-SS
2006-11-24
打赏
举报
回复
不知用GetLastError能否得到错误信息.
yangjianw2004
2006-11-22
打赏
举报
回复
在高手这里,只有关注了
loginyhb
2006-11-22
打赏
举报
回复
顶
lovelihp
2006-11-21
打赏
举报
回复
只能顶了,只会顶
aichangfeng
2006-11-21
打赏
举报
回复
樓上說的很清楚了,應該是PB版本問題
youqiong
2006-11-21
打赏
举报
回复
【函数】
CreateFile
【操作系统】
Win9x:Y
WinNT:Y
【声明】
Function ulong CreateFile(ref string lpFileName,ulong dwDesiredAccess,ulong dwShareMode,ref SECURITY_ATTRIBUTES lpSecurityAttributes,ulong dwCreationDisposition,ulong dwFlagsAndAttributes,ulong hTemplateFile) LIBRARY "kernel32.dll" ALIAS FOR
【说明】
这是一个全功能的例程,可打开和创建文件、管道、邮槽、通信服务、设备以及控制台
【返回值】
Long,如执行成功,则返回文件句柄。INVALID_HANDLE_VALUE表示出错,会设置GetLastError。即使函数成功,但若文件存在,且指定了CREATE_ALWAYS
或 OPEN_ALWAYS,GetLastError也会设为ERROR_ALREADY_EXISTS
【其它】
打开一个通信端口时(如COM1),无论如何都要设置成
OPEN_EXISTING
这个函数代替了lOpen 和 lCreate函数,应该是我们的首选
【参数列表】
lpFileName ----- String,要打开的文件的名字
dwDesiredAccess - Long,如果为 GENERIC_READ
表示允许对设备进行读访问;如果为 GENERIC_WRITE
表示允许对设备进行写访问(可组合使用);如果为零,表示只允许获取与一个设备有关的信息
dwShareMode ---- Long,零表示不共享; FILE_SHARE_READ 和/或
FILE_SHARE_WRITE 表示允许对文件进行共享访问
lpSecurityAttributes - SECURITY_ATTRIBUTES,指向一个SECURITY_ATTRIBUTES结构的指针,定义了文件的安全特性(如果操作系统支持的话)
dwCreationDisposition - Long,下述常数之一:
CREATE_NEW
创建文件;如文件存在则会出错
CREATE_ALWAYS
创建文件,会改写前一个文件
OPEN_EXISTING
文件必须已经存在。由设备提出要求
OPEN_ALWAYS
如文件不存在则创建它
TRUNCATE_EXISTING
讲现有文件缩短为零长度
dwFlagsAndAttributes - Long,一个或多个下述常数
FILE_ATTRIBUTE_ARCHIVE
标记归档属性
FILE_ATTRIBUTE_COMPRESSED
将文件标记为已压缩,或者标记为文件在目录中的默认压缩方式
FILE_ATTRIBUTE_NORMAL
默认属性
FILE_ATTRIBUTE_HIDDEN
隐藏文件或目录
FILE_ATTRIBUTE_READONLY
文件为只读
FILE_ATTRIBUTE_SYSTEM
文件为系统文件
FILE_FLAG_WRITE_THROUGH
操作系统不得推迟对文件的写操作
FILE_FLAG_OVERLAPPED
允许对文件进行重叠操作
FILE_FLAG_NO_BUFFERING
禁止对文件进行缓冲处理。文件只能写入磁盘卷的扇区块
FILE_FLAG_RANDOM_ACCESS
针对随机访问对文件缓冲进行优化
FILE_FLAG_SEQUENTIAL_SCAN
针对连续访问对文件缓冲进行优化
FILE_FLAG_DELETE_ON_CLOSE
关闭了上一次打开的句柄后,将文件删除。特别适合临时文件
也可在Windows NT下组合使用下述常数标记:
SECURITY_ANONYMOUS, SECURITY_IDENTIFICATION,
SECURITY_IMPERSONATION, SECURITY_DELEGATION, SECURITY_CONTEXT_TRACKING,
SECURITY_EFFECTIVE_ONLY
hTemplateFile -- Long,如果不为零,则指定一个文件句柄。新文件将从这个文件中复制扩展属性
leyueming
2006-11-21
打赏
举报
回复
哈哈.顶
魔鬼代言人5800
2006-11-21
打赏
举报
回复
PB什么版本?
这种问题只能说是打补丁!
青锋-SS
2006-11-21
打赏
举报
回复
高手问的问题,坐沙发.
关于找不到
Create
File
函数
的地址的
问题
想找
Create
File
函数
的地址,将其hash值压入,却导致死循环,计算不出
函数
地址。准备放弃时,跟踪了其它程序,发现调用的是
Create
File
A
函数
,而非
Create
File
函数
。 网上搜索相关知识点,查到如下信息: 事实上系统不存在什么
Create
File
函数
,只有
Create
File
A和Crate
File
W编译时根据项目配置是否使用unicode,来决定最终用的是Crea...
解决
CREATE
FILE
函数
中不能从const char* 转换到LPCTSTR的
问题
问题
的原因: 因为在vc6里面默认使用字符ANSII方式编码,而在vs2010及以上默认使用UNICODE方式编码, 它们对一些字符所占内存空间的位数不同,所以就导致了这个
问题
。 背景介绍: 一、首先我们要明白这几个关键字的含义: LPSTR: 32bit指针 指向一个字符串,每个字符占1字节。 相当于 char * LPCSTR: 32-bit指针 指向一个常字符串,每个字符占1字节。...
关于
Create
File
创建句柄,出现系统找不到指定文件的
问题
今天在书上看到了一个关于加壳的程序,前面有一个判定是否是PE文件的
函数
。于是拿来试试。结果出现了好多
问题
。最头痛的就是
Create
File
返回的是INVALID_HANDLE_VALUE的
问题
。 最开始我以为是自己的文件地址出了
问题
。于是换了一个地址又一个地址。
问题
依然存在。在网上查找资料。有一篇可能是正解,当时我完全忽略了。我怎么会知道是参数类型的
问题
。 原
函数
代码:(部分) char m
一个最简单的
问题
:
Create
File
()
函数
与COM_Open()
函数
的关系
请教大家一个最基本的问: 这两天研究了一下串口驱动程序(MDD,PDD),发现这么一个
问题
:
Create
File
(L"COM1:",....)中的"COM1"的信息是怎样记录到COM_Open()的句柄中的。COM_init()(有DeviceArrayIndex和Priority256)和HWinit(有memorywindow,interrupt,physicalbase)中好像没有对C
create
file
失败的原因
提个
问题
关于
Create
File
的 应用层符号链接名定义为
szSymbolicLinkName db '////.//SLINK1',0
invoke
Create
File
,addr szSymbolicLinkName,GENERIC_READ + GENERIC_WRITE,0,NULL,OPEN_EXISTING,
FILE
_ATTRIBUTE_NORMAL,NULL
再调用GetLastError 返回错误53
API 调用
681
社区成员
4,761
社区内容
发帖
与我相关
我的任务
API 调用
PowerBuilder API 调用
复制链接
扫一扫
分享
社区描述
PowerBuilder API 调用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章