Форум » Для флейма » Идентификатор файла по хендлу » Ответить

Идентификатор файла по хендлу

fil: Я так понимаю, ятобы получить идентификаиор файла по хендлу надо пользовать GetFileInformationByHandle(hFile, bhfi), где hFile - хенл файла bhfi - параметр указывающий на тип получаемой инфы. А вот как его описать непонятно ?

Ответов - 6

Петр: fil пишет: bhfi - параметр указывающий на тип получаемой инфы. A pointer to a BY_HANDLE_FILE_INFORMATION structure that receives the file information. .. BY_HANDLE_FILE_INFORMATION FileInformation; GetFileInformationByHandle( hFile, &FileInformation);

fil: Что BY_HANDLE_FILE_INFORMATION это адрес структуры я в инете прочитал, а вот как с ним работать в формате Harbour ?

Петр: Через функцию-переходник на C. Хотя бы так: [pre2] #include <windows.h> #include "hbapi.h" HB_FUNC( WIN_NUMBEROFLINKS ) { HANDLE hFile = hb_parnl( 1 ); // или что-то в этом роде BY_HANDLE_FILE_INFORMATION FileInformation; GetFileInformationByHandle( hFile, &FileInformation); hb_retnint( FileInformation.nNumberOfLinks ); } [/pre2]


fil: Ага т.е. я меняю nNumberOfLinks на nFileIndexHigh. Правда индекс состоит из nFileIndexHigh и nFileIndexLow т.е. мне 2 раза эту опрецию проделать ?

Петр: fil пишет: т.е. мне 2 раза эту опрецию проделать ? Используйте массив hb_reta( 2 ); hb_storvnint( FileInformation.nFileIndexHigh, -1, 1 ); hb_storvnint( FileInformation.nFileIndexLow, -1, 2 );

fil: Таки да, работает. Спасибо, Петр !



полная версия страницы