SetFileInformationByHandle 的 MSDN 文档指的是“Windows Server 2003 和 Windows XP 上的 FileExtd.lib”。我设法找到了库和 .h 文件,可以从以下位置下载“Win32 FileID APIs 1.1”:
似乎实现在静态 .lib 文件中 - 如何将其引用/链接到 Delphi 应用程序?我是在 Visual Studio 中创建“C Dll”并导出函数的唯一选择吗?有没有人将 .h 文件移植到 Delphi 头文件定义中?
最佳答案
C 和 C++ 使用 lib 文件提供链接器可用于 DLL 函数的“ stub ”。实际的功能实现在 DLL 中。 Delphi 不使用 lib 文件;它的 external
指令完成同样的事情。因此,您通常可以忽略 MSDN 中的“库”要求。不过,“DLL”要求仍然有效。
如果 Delphi 附带的单元不包含您想要的 API 函数,那么您有两个选择:
找到为您声明它的其他人的代码。一个常见的候选人是 Jedi API units .
自己声明。
interface function SetFileInformationByHandle( hFile: THandle; FileInformationClass: TFileInfoByHandleClass; lpFileInformation: Pointer; dwBufferSize: DWord ): Bool; stdcall; implementation function SetFileInformationByHandle; external 'kernel32';
我不知道
TFileInfoByHandleClass
是否已经在某处声明;您可能也需要声明这一点。 MSDN 包含函数声明,但有时缺少关联的枚举和常量值,因此附近有 Platform SDK header 很方便(因此您问题中的下载链接并非完全无用)。
关于windows - Delphi 的 XP/2003 中的 SetFileInformationByHandle?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/967316/