C и C ++ используют файлы lib для предоставления «заглушки», которую компоновщик может использовать для функции DLL. Реальная реализация функции находится в DLL. Delphi не использует файлы lib; его директива external
выполняет то же самое. Поэтому обычно вы можете игнорировать требование «библиотеки» в MSDN. Требование «DLL» все еще остается в силе.
Если модули, поставляемые с Delphi, не содержат нужной вам функции API, у вас есть несколько вариантов:
Найдите чужой код, который объявляет его для вас. Частым кандидатом являются единицы джедаев .
Объявите это сами.
interface
function SetFileInformationByHandle(
hFile: THandle;
FileInformationClass: TFileInfoByHandleClass;
lpFileInformation: Pointer;
dwBufferSize: DWord
): Bool; stdcall;
implementation
function SetFileInformationByHandle; external 'kernel32';
Я не знаю, объявлено ли уже TFileInfoByHandleClass
; вам, возможно, придется объявить это тоже. MSDN включает в себя объявления функций, но иногда не хватает связанных перечислений и постоянных значений, поэтому удобно иметь поблизости заголовки Platform SDK (так что ссылка на скачивание в вашем вопросе не является абсолютно бесполезной).