以前用CreatFile一直都没有什么问题,今天用他来创建一个2TB的文件句柄时总是报错,难道不支持这么大的文件??在C里有CreatFileEx,Delphi中好像没有,我查了好久没有一点资料,大家都来讨论一下这个问题!!

解决方案 »

  1.   

    代码:
    hfileHandle := CreateFile(pchar('\\?\c:\aa.dat'), GENERIC_ALL,
             FILE_SHARE_READ or FILE_SHARE_WRITE, nil,OPEN_ALWAYS,0, 0);
    if (hfilehandle = INVALID_HANDLE_VALUE) then
            begin
               showmessage('打开文件出错!') ;
               exit;
            end;
    其中aa.dat为一个1.8TB的文件!程序运行时总报错!
      

  2.   

    http://school.itren.cn/content.asp?id=41418你看看这篇文章
      

  3.   

    CreateFileW是支持'\\?\C:\...'类似文件名的。不过从来没有听说过什么叫CreateFileEx的API,估计是VISTA的专属API,或者...
      

  4.   

    Implemented as CreateFileW (Unicode) and CreateFileA (ANSI). Note that Unicode support on Windows Me/98/95 requires Microsoft Layer for Unicode.
      

  5.   

    Windows SDK里面没有CreatFileEx,读文件,写文件和设置文件指针才有EX扩展函数