Программирование на Ассемблере

Функция FindFirstFile


HANDLE FindFirstFile(

    LPCTSTR lpFileName,       // Имя образца для поиска

    LPWIN32_FIND_DATA lpFindFileData   // Указатель на структуру с результатом

   );      

 

Windows 95: Образец для поиска может содержать символы (* и ?). Строка должна быть с нулевым завершителем и по длине не превосходить MAX_PATH

символов.

Windows NT: Ограничение на длину строки снимается, т.к. есть возможность использовать широкую версию (W) функции FindFirstFile. Символы "\\?\" говорят о возможности использования пути длиннее MAX_PATH. Она также работает с именами, заданными в UNICODE (UNC). Символы "\\?\" игнорируются как часть каталога. Например, путь "\\?\C:\myworld\private" интерпретируется как "C:\myworld\private", а "\\?\UNC\bill_g_1\hotstuff\coolapps"

интерпретируется как

"\\bill_g_1\hotstuff\coolapps".

LpFindFileData - Структура WIN32_FIND_DATA.

typedef struct _WIN32_FIND_DATA { 

    DWORD dwFileAttributes; // Атрибуты файла



    FILETIME ftCreationTime; // Время создания

    FILETIME ftLastAccessTime; // Время последнего доступа

    FILETIME ftLastWriteTime; // Время последней записи

    DWORD    nFileSizeHigh; //Размер файла – старшая часть

    DWORD    nFileSizeLow; //Размер файла  - младшая часть

    DWORD    dwReserved0; // Резерв

    DWORD    dwReserved1; // Резерв

    TCHAR    cFileName[ MAX/_PATH ]; // Имя файла

    TCHAR    cAlternateFileName[ 14 ];

} WIN32_FIND_DATA;

 

dwFileAttributes - Значение атрибутов, определяется битами:

FILE_ATTRIBUTE_ARCHIVE, FILE_ATTRIBUTE_COMPRESSED,

FILE_ATTRIBUTE_DIRECTORY     , FILE_ATTRIBUTE_HIDDEN        

FILE_ATTRIBUTE_NORMAL         

FILE_ATTRIBUTE_OFFLINE- данные из фала сразу же недоступны, они могут быть пока в памяти.

FILE_ATTRIBUTE_READONLY,

FILE_ATTRIBUTE_SYSTEM файл является частью ОС или используется только ею.

FILE_ATTRIBUTE_TEMPORARY- временный файл-используется для временного хранения. Приложение должно писать в него, только если это абсолютно необходимо  . Большинство данных остается в памяти без сброса их на диск, т.к. файл очень скоро удаляется.



Содержание раздела