164
MessageBox(0,cBuffer,’Буфер порожній:’,MB_OK);
hFile:=CreateFile(‘TestFile.tst’,GENERIC_READ,
FILE_SHARE_READ,NIL,OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,0);
if(INVALID_HANDLE_VALUE=hFile)then
MessageBox(0,’Неможливо відкрити файл’,’Помилка’,MB_OK);
ReadFile(hFile,cBuffer,sizeof(cTextBuffer),dwBytes,NIL);
MessageBox(0,cBuffer,’Буфер заповнений:’,MB_OK);
CloseHandle(hFile);
DeleteFile(‘TestFile.tst’);
SetCurrentDirectory(cDirectoryBuffer);
RemoveDirectory(‘D:\\Demo_Directory’);
end.
Варіанти використання різних комбінацій параметрів функцій
CreateFile, ReadFile і WriteFile детально описані у відповідній лі-
тературі. На щастя, більшість із них має цілком виразну мнемоні-
ку і не викликає ускладнень. Призначення деяких параметрів
уточнюватиметься в подальшому. Важливо те, що у випадку ус-
пішного завершення функції CreateFile в системі створюється
об’єкт "відкритий файл", який управляє операціями, пов’язаними
з файлом, контролює сумісний доступ до файла і містить інфор-
мацію, специфічну для даного об’єкта, наприклад покажчик по-
точної позиції.
Після надбання деякого досвіду роботи з основними функція-
ми введення-виведення перейдемо до розгляду найбільш важли-
вих аспектів інтерфейсу користувача файлової системи.
Іменування файлів
Ім’я будь-якого абстрактного об’єкта – одна з його найважли-
віших характеристик. Коли процес створює файл, він дає йому
ім’я. Після завершення процесу файл продовжує існувати і через
своє ім’я може бути доступний іншим процесам. Для створення
файла і привласнення йому імені в ОС Windows використовують
Win32-функцію CreateFile.
Ім’я файла задається параметром lpFileName – покажчиком на
рядок, що закінчується нулем. Відповідно до стандарту POSIX,
ОС Windows оперує довгими (до 255 символів) іменами. Якщо