草庐IT

createfile

全部标签

c++ - 在 C++ 中访问 LPT

如何在C++visualexpress中访问LPT端口?我读过有关包含io.dll的内容,但我不知道如何使用它。有人可以告诉我一个简单的代码吗? 最佳答案 您可以使用CreateFile()打开I/O设备,例如打印机端口。hLPT=CreateFile("LPT1",GENERIC_WRITE,0,0,CREATE_ALWAYS,FILE_FLAG_NO_BUFFERING,0);WriteFile(hLPT,pointerToBuffer,sizeOfBuffer,&numberOfBytesWritten,NULL);Flush

c++ - 从不同机器同时调用 CreateDirectory 或 CreateFile 时会发生什么?

我想使用文件的临时目录作为需要在远程目录中读取和写入的多个应用程序(来自多台计算机)的锁,但在文档中未解决此问题。有谁知道两个同时调用会发生什么情况?http://msdn.microsoft.com/en-us/library/windows/desktop/aa363855%28v=vs.85%29.aspx注意:我知道最好使用数据库,但在我的情况下这是不可能的。 最佳答案 当您调用CreateDirectory时,传递相同的目录名,来自不同的机器,只有一次调用会成功。API函数只会返回TRUE如果它是实际创建目录的调用。拥有文

c# - 为什么 CreateFile 需要永远?

我的程序中有一个线程试图CreateFile以锁定USB设备,但是,有时它非但没有失败,反而需要很长时间。还有其他人遇到过这个问题吗?有什么办法可以为此功能设置超时吗?代码是这样的:stringfile=@"\\.\"+DriveLetter[0]+":";handle=CreateFile(filename,GENERIC_READ,FILE_SHARE_WRITE,IntPtr.Zero,0x3,0,IntPtr.Zero);谢谢。 最佳答案 您想锁定它以使其无法访问-作为设备-或“阻止”分离它(例如它是一支笔)?编辑:抱歉,无

windows - 为什么此 CreateFile() 调用会导致 Windows 8 出现蓝屏?

如果我尝试运行这个:#includeintmain(){CreateFile(TEXT("X:\\$MFT\\Folder"),FILE_READ_ATTRIBUTES,FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,NULL,OPEN_EXISTING,0,NULL);return0;}任何进一步尝试访问X:时系统死锁(在Windows8上,随后是BSOD)。(更新:X:只是一个占位符;您可以将其替换为任何有效的驱动器。)我花了一段时间才找到它,现在我找到了——但我很困惑:原因是什么? 最佳答案

windows - 是否存在函数 CreateFile 返回 INVALID_HANDLE_VALUE 而 GetLastError() 返回 ERROR_ALREADY_EXISTS 的情况

我在MSDN上搜索了一下HANDLEWINAPICreateFile(_In_LPCTSTRlpFileName,_In_DWORDdwDesiredAccess,_In_DWORDdwShareMode,_In_opt_LPSECURITY_ATTRIBUTESlpSecurityAttributes,_In_DWORDdwCreationDisposition,_In_DWORDdwFlagsAndAttributes,_In_opt_HANDLEhTemplateFile);如果dwCreationDisposition==CREATE_ALWAYS或OPEN_ALWAYS,它表

windows - 当文件禁用读取共享时如何使用 ReadFile 读取数据

我有一个问题,我有一个文件打开了其他进程,这个进程在CreateFile非文件共享中定义,然后我有其他应用程序,我想从中读取数据文件在同一时间,但如何做。我无法在第一个应用程序中更改文件共享。我可以获得计算机管理员权限,我可以更改系统,但如果可以通过代码完成,“代码”解决方案可能会更好地解决这个问题。谁能帮帮我? 最佳答案 如何使用EasyHook并将API挂接到CreateFile例程,实际上,您的代码将拦截API并可能更改dwShareMode参数以使其按位FILE_SHARE_READ或FILE_SHARE_WRITE即(FI

windows - CopyFile 是否锁定源文件?

当我使用CopyFile复制文件时,源文件会以任何方式被锁定吗?假设-如果复制操作开始,然后有人想打开source文件,它会成功吗?如果“某人”请求独占访问文件,他的Win32API调用(可能是CreateFile)会失败,还是会等待(或其他)直到复制操作完成? 最佳答案 如果有人请求独占访问已打开的文件,该请求将失败。Windows没有包含以下内容的文件打开模式:“如果其他人正在使用该文件,请阻止他。”我记得,CopyFile打开源文件,以便其他人可以读取,但不能写入。 关于windo

windows - 我如何在 Windows 中为类似/dev/null 的东西调用 CreateFile?

我需要在Windows库中调用一个函数,该函数将CreateFile创建的文件的句柄作为参数。.在我的应用程序中,我对库在此文件上生成的输出不感兴趣。有没有办法让我在*nix操作系统中创建空文件的句柄,例如/dev/null? 最佳答案 您正在寻找内置的“NUL”文件。 关于windows-我如何在Windows中为类似/dev/null的东西调用CreateFile?,我们在StackOverflow上找到一个类似的问题: https://stackover

C++ 使用 CreateFile 而不是 fopen 查找

我想用HANDLE=CreateFile()交换FILE*以测试速度差异。我正在尝试更改我的代码。有人能告诉我如何更改这两行以反射(reflect)我现在处理的是句柄而不是FILE*吗?fseek(myFile,iBytePos,SEEK_SET);fread(&SomeValues[0],iByteCount,1,myFile);我试过了LARGE_INTEGERl;l.QuadPart=iBytePos;SetFilePointer(myFile,l.LowPart,&l.HighPart,FILE_BEGIN);DWORDdw;BOOLresult=ReadFile(myFile

windows - USB 设备的 SetupComm、SetCommState、SetCommTimeouts 失败

我正在打开USB设备:使用CreateFile进行通信:HANDLEhUsb=CreateFile("\\.\LCLD9",GENERIC_READ|GENERIC_WRITE,0,null,OPEN_EXISTING,FILE_FLAG_OVERLAPPED,0);调用成功(即hUsb不等于INVALID_HANDLE_VALUE)。但是接下来是时候对每个串行端口执行我们的操作了:SetupComm(设置接收和传输缓冲区大小)SetCommState(设置流量控制、波特率等)SetCommTimeouts(设置超时)这些调用中的每一个都返回1的GetLastError()代码。例如: