Файлдың ашылуы мен жойылуы.
Файлға өтуді жабу үшін, басқа кез келген объект ядросының жабылуы үшін CloseHandie функциясы қолданылады, оның жалғыз параметрі боп ашық файлдың дискрипторы саналады. Файлдың физикалық жойылуы үшін дисктен келесі прототипі бар функция қолданылады:
BOOL DeieteFile
(LPCTSTR lpFileName // файл аты);
lpFileName параметрі файлдың толық жолын көрсететін нұсқаушы боп табылады. Сәтті аяқталу кезінде функция нөлдік емес мәнді қайтарады, ал сәтсіз болса false.
Келесі листингта С дискте түпкі каталогта орналасқан demo_file.dat атты файлды жоятын бағдарлама көрсетілген:
Листинг - Файлды жою
#include #include
int main() {
// файлды жоямыз
if(!DeieteFile("C:\\demo_file.dat")) {
cerr « "Delete file failed." « endl
« "The last error code: " « GetLastError() « endl; cout « "Press any key to finish."; cin.get(); return 0;
}
cout « "The file is deleted." « endl;
Қауіпсіздік идентификаторының ұзындығын анықтау үшін GetLengthsid функциясы қолданылады, оның прототипі:
DWORD GetLengthSid (PSID pSid// SID-ке сілтегіш);
Бұл функцияның жалғыз параметрі қауіпсіздік идентификаторына сілтегіш болып табылады. Егер қауіпсіздік идентификаторының дұрыс құрылымы болса, онда функция осы қауіпсіздік идентификаторының ұзындығын қайтарады, кері жағдайда — анықталмаған мағынасын қайтарады. Сондықтан GetLengthSid функциясын шақыру алдында қауіпсіздік идентификаторының құрылымын тексеретін IsValidSid функциясын шақыру керек.
Авторизация идентификаторының сілтегішін анықтау үшін sid құрылымында GetSidldentifierAuthority функциясы қолданылады, оның прототипі:
РSID_IdentIFIER_AUTHORIty GetSidldentifierAuthority (psid pSid// sid-ке сілтегіш);
Бұл функцияның жалғыз параметрі қауіпсіздік идентификаторына сілтегіш болып табылады. Егер қауіпсіздік идентификаторының дұрыс құрылымы болса, онда функция сілтегішті IdentifierAuthority өрісіне қауіпсіздік идентификаторында қайтарады, кері жағдайда — анықталмаған мағынасын қайтарады. Сондықтан GetSidldentif ierAuthority функциясын шақыру алдында қауіпсіздік идентификаторының құрылымын тексеретін IsValidSid функциясын шақыру керек.
Қауіпсіздік идентификаторында қатынасты идентификаторлардың санын анықтау үшін GetsidsubauthorityCount функциясы қолданылады, оның прототипі:
PUCHAR GetSidSubAuthorityCount (PSID pSid// sid-ке сілтегіш);
Бұл функцияның жалғыз параметрі қауіпсіздік идентификаторына сілтегіш болып табылады. Егер қауіпсіздік идентификаторының дұрыс құрылымы болса, онда функция сілтегішті SubAuthorityCount өрісіне қауіпсіздік идентификаторында қайтарады, кері жағдайда — анықталмаған мағынасын қайтарады. Сондықтан GetsidsubauthorityCount функциясын шақыру алдында қауіпсіздік идентификаторының құрылымын тексеретін IsValidSid функциясын шақыру керек.
Қатынасты идентификаторлардың саны алынғаннан кейін, нақты қатынасты идентификатордың мекенжайын GetSidSubAuthority функциясын шақыру арқылы анықтауға болады
Дәріс 13. Жады қорының менеджері. Жадыны бөлу стратегиялары. Қолданбалық интерфейстер және қабықшалар
Дәріс мақсаты: ЖБ-дағы қолданбалық интерфейстер және қабықшалар түрлерін қарастыру.
Компьютердің есте сақтау құрылғысы ең аз дегенде екі деңгейге бөлінеді: негізгі жады (бас, оперативті, физикалық) және ішкі жады.
Негізгі жады – бірбайтты реттелген ұяшық, ол ұяшықтың әрқайсысының нөмірі бар. Процесор негізгі жадыдан команданы алады да оны кодтайды, содан кейін оны орындайды. Командалар орындалу үшін тағы да негізгі жадыдағы бірнеше ұяшықтарға сұраныс жасау керек болады. Негізгі жады жартыөткізгіш технологиясын қолдану арқылы дайындалады және өзінің құрамындағыны токтан ажыратқан кезде жоғалтады.
Ішкі жадыны – (бұл дискінің негізі) көптеген байттардан құралған кеңістіктің бірөлшемді сызықтық мекенжайы ретінде қарастыруға болады. Оның оперативті жадыдан айырмашылығы, ол токқа тәуелді емес, үлкен сиымдылығы бар және негізгі жадыны кеңейту кезінде қолданады.
Достарыңызбен бөлісу: |