本文目录
- windows编程中,用createfile打开未被初始化的磁盘时,总是返回无效的句柄怎么办
- c语言createfile函数用法
- createfile 函数怎么打开txt文件
- CreateFile 读写逻辑盘出错,物理盘没有问题
- createfile失败;代码3.系统找不到指定的路径
- CreateFile 函数打开设备失败
- 把光盘里面的文件安装到电脑里,显示createfile失败代码1392是什么意思
- 电脑为什么安装软件的时候总是提示(CreateFile失败,代码5.拒绝访问)
- createfile打开串口失败,求解答,该如何处理
- 为什么我用CreateFile打开串口失败
windows编程中,用createfile打开未被初始化的磁盘时,总是返回无效的句柄怎么办
87是参数错误。你检查一下createfile的参数是否有问题。GENERIC_WRITE是写操作,一个未初始化的磁盘是否可写?还有共享属性中应该是FILE_SHARE_READ | FILE_SHARE_WRITE,你写错了一个。还有这种最好提升权限。或者直接要求用管理员身份才能运行。
c语言createfile函数用法
1、CreateFile 是一个多功能的函数,可打开或创建以下对象,并返回可访问的句柄:控制台,通信资源,目录(只读打开),磁盘驱动器,文件,邮槽,管道。
2、例程:
#include 《windows.h》
int main()
{
HANDLE hf = CreateFile(TEXT(“C:\\testa.bin“), GENERIC_WRITE, 0,
0, CREATE_ALWAYS, 0, 0);
DWORD written;
WriteFile(hf, “\x0f\xff\xff\xff\xff\xff“, 6, &written, 0);
CloseHandle(hf);
hf = CreateFile(TEXT(“c:\\testb.bin“), GENERIC_WRITE, 0,
0, OPEN_ALWAYS, 0, 0);
SetFilePointer(hf, 0, 0, FILE_END);
WriteFile(hf, “\x0f\xff\xff\xff\xff\xff“, 6, &written, 0);
CloseHandle(hf);
return 0;
}
-file
createfile 函数怎么打开txt文件
HANDLE hFile;
DWORD szBuffer;
const char szText = “QQ:610847323“;
char Length;
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,
LPSTR lpCmdLine,int nShowCmd)
{
hFile=CreateFile(“D:\\123.txt“,GENERIC_WRITE,FILE_SHARE_READ,NULL,
OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);//先创建一个空的文件
Length=lstrlen(szText);//计算自己要写入的长度
WriteFile(hFile,szText,Length,szBuffer,NULL);//写入刚才创建的空文件中
return 0;
-window
CreateFile 读写逻辑盘出错,物理盘没有问题
你的打开权限有问题
你只指定了FILE_SHARE_READ,这样Windows会认为你不允许其他程序进行写入、删除操作,但是此时有应用程序在占用了设备,所以CreateFile会失败。
正确做法是:
hDevice = CreateFile(“\\\\.\\E:“, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, NULL,OPEN_EXISTING, 0, NULL);
经过测试,不会报错
-file
createfile失败;代码3.系统找不到指定的路径
应该是文件写入权限设置错误引起的,用系统管理员账号登入系统后安装试试,或在系统管理员权限下找到你项目的文件夹,右键选择“属性“,然后点击“完全“选项卡,点击“添加“,“高级“,“立即查找“,找到平时登入所用帐户,然后“确定“,最后再为登入所用帐户户勾选“写入权限“,
-window
CreateFile 函数打开设备失败
那是因为你创建的是设备名称,这个只能在ring0层访问。
要想在ring3层访问,需要创建ring3层可以访问的符号链接与设备关联。
RtlInitUnicodeString(&ustrSymLink,L“\\??\\Jow_SymLink“);
IoCreateSymbolicLink(&ustrSymLink,&uniNtNameString);
ring3层访问的时候CreateFile(“\\\\.\\Jow_SymLink“,........)
-file
把光盘里面的文件安装到电脑里,显示createfile失败代码1392是什么意思
应该是文件写入权限设置错误引起的,用系统管理员账号登入系统后安装试试,或在系统管理员权限下找到你项目的文件夹,右键选择“属性“,然后点击“完全“选项卡,点击“添加“,“高级“,“立即查找“,找到平时登入所用帐户,然后“确定“,最后再为登入所用帐户户勾选“写入权限“,
-window
电脑为什么安装软件的时候总是提示(CreateFile失败,代码5.拒绝访问)
应该是文件写入权限设置
错误
引起的,用
系统管理员
账号登入系统后安装试试,或在系统管理员权限下找到你项目的文件夹,右键选择“属性“,然后点击“完全“选项卡,点击“添加“,“高级“,“立即查找“,找到平时登入所用帐户,然后“确定“,最后再为登入所用帐户户勾选“写入权限“,
-file
createfile打开串口失败,求解答,该如何处理
产生这种奇怪现象的原因是:微软预定义的标准设备中含有“COM1”-“COM9”。所以,“COM1”-“COM9”作为文件名传递给函数时操作系统会自动地将之解析为相应的设备。但对于COM10及以上的串口,“COM10”之类的文件名系统只视之为一般意义上的文件,而非串行设备。
为了增加对COM10及以上串行端口的支持,微软规定,如果要访问这样的设备,应使用这样的文件名(以COM10为例):\\.COM10
所以,对于COM10及以上的串口,CreateFile()的调用样式应调整如下:
CreateFile(
“\\\\.\\COM10“, // 定义串口名
fdwAccess, // 存取模式(读写)
0, // 共享模式:必须设置为0,表示设备独占使用
NULL, // 保密性
OPEN_EXISTING, // 必须设置为OPEN_EXISTING
0, // 文件属性,如果是异步模式,可设置为
NULL // 模版,串口设备必须设置为NULL
);
应该用反斜杠\。
-window
为什么我用CreateFile打开串口失败
要么串口不存在,要么串口已经被其他程序打开了。
你先检查一下自己要打开的串口是否存在,如果你是windows系统,就看设备管理器,
如果你是linux系统就查看/dev下有没有你的串口设备。
如果串口是在的,那么可能有其他程序已经打开它了,正在使用,简单的方法就是重启一下电脑,串口就会回到未打开的状态。
-file