gpt4 book ai didi

windows - 为什么使用 GetFileSizeEx() 时会出现 "Invalid handle"错误,文件标记为只读?

转载 作者:可可西里 更新时间:2023-11-01 09:49:19 30 4
gpt4 key购买 nike

当我在只读文件上使用我的 Delphi 6 应用程序中的 Windows API 调用 GetFileSizeEx() 时,我收到操作系统错误代码 6(“无效文件句柄”)。如果我从文件中删除只读属性,错误就会消失。为什么我会收到该错误,有没有办法对只读文件使用该调用或类似调用?

相关代码如下:

function GetFileSizeEx(hFile: THandle; var FileSize: Int64): BOOL; stdcall; external 'kernel32.dll' name 'GetFileSizeEx';

function easyGetFileSize(theFileHandle: THandle): Int64;
begin
if not GetFileSizeEx(theFileHandle, Result) then
RaiseLastOSError;
end;

-- 罗施勒

最佳答案

打开文件获取文件句柄的结果你检查了吗?显然,如果文件无法打开,则说明您正在使用无效句柄调用 GetFileSizeEx。您需要以只读模式打开文件。

关于windows - 为什么使用 GetFileSizeEx() 时会出现 "Invalid handle"错误,文件标记为只读?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6066896/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com