RtlDeleteRegistryVaIue - Tizimli dasturlash

|
Tizimli dasturlash
|
bet | 55/64 | Sana | 13.05.2024 | Hajmi | 183,36 Kb. | | #230077 |
Bog'liq Системное программирование, практикаRtlDeleteRegistryVaIue ko'rsatilgan pastki kalitdan parametrni olib tashlaydi, masalan:
status = RtlDeleteRegistryValue (RTL_REGISTRY_SERVICES,
L"Misol1\\InnerKey",
L"Yangi parametr");
agar( !NT_SUCCESS(x_status) )
{
#agar DBG
DbgPrint("RtlDeleteRegistryValue chaqiruvi muvaffaqiyatsiz.");
#endif
}
IN Natijada , HKLM \SYSTEM\CurrentControlSet\Services\Example1\InnerKey- da yo'qoladi. parametr NewParameter.
Bajarilishi kerak bo'lgan vazifa:
Tizim registrini tiklash uchun dastur yozing.
Amalga oshirish tartibi:
Birinchidan, dasturdan foydalanish oson bo'lishi kerak. U oddiy interfeysga ega bo'lishi kerak, bu orqali siz kompyuterni juda cheklangan tushunsangiz ham tozalash jarayonini osongina bajarishingiz mumkin.
Ikkinchidan, dastur hamma narsani o'chirishdan oldin ro'yxatga olish kitobida mavjud ma'lumotlarni saqlashga imkon berishi kerak.
Uchinchidan, ro'yxatga olish kitobini tozalash vositasi butun jarayonni to'g'ri bajarish uchun etarlicha kuchli va ishonchli bo'lishi kerak.
To'rtinchidan, dastur ushbu dasturdan foydalangan odamlarning sharhlari bilan birga bo'lishi kerak. Bu dastur ishonchli ekanligini tasdiqlashi mumkin.
Va nihoyat, yaxshi ro'yxatga olish kitobini tozalash dasturida kompyuteringizni ro'yxatga olish kitobida xatoliklarga olib kelgan muammolarni tekshirish uchun yana bir nechta vositalar bo'lishi kerak.
Nazorat savollari:
Tizim registrlari bilan ishlash uchun qanday funktsiyalardan foydalaniladi?
Tizim reestri nima?
Registr tuzilmasi qanday bo'limlardan iborat?
Tavsiya etilgan o'qish: 1, 3.
16-son LABORATORIYA ISHI
Assemblerda mavzu bilan ishlash uzilishlari va istisnolar
Ishning maqsadi : uzilishlar bilan ishlash ko'nikmalarini rivojlantirish.
Ishlash vaqti 2 soat
Nazariy material
Hozirgacha bizning barcha dasturlarimiz himoyalangan rejimda uzilishlar to'liq o'chirilgan holda ishlagan - ularni klaviaturadan boshqarish mumkin emas edi, ular disklar bilan ishlay olmadi va ular xotiraning ma'lum joylariga o'qish yoki yozishdan boshqa hech narsa qilmadi. Albatta, bu rejimda hech qanday dastur jiddiy ish qila olmaydi - ertami-kechmi biz uzilishlar bilan shug'ullanishimiz kerak bo'ladi.
Haqiqiy rejimda uzilish ishlovchisining manzili protsessor tomonidan xotirada 0-manzilda joylashgan jadvaldan o'qiladi. Himoyalangan rejimda IDT - Interrupt Descriptor Table deb nomlangan ushbu jadval istalgan joyda joylashgan bo'lishi mumkin. Uning manzili va hajmi IDTR registriga yuklangan bo'lsa kifoya. Ushbu jadvalning mazmuni real rejimda bo'lganidek, shunchaki ishlov beruvchi manzillari emas, balki uch turdagi tavsiflovchilar: uzilish shlyuzi, tuzoq darvozasi va vazifa shlyuzi (bu tavsiflovchilarning formatlari oldingi bobda muhokama qilingan).
Interrupt va trap shlyuzlari ishlov beruvchining kirish nuqtasini, shuningdek, uning bitlik va imtiyoz darajasini ko'rsatadi. Boshqarishni ishlov beruvchiga o'tkazishda protsessor, xuddi real rejimda bo'lgani kabi, bayroqlar va manzilni stekga qaytaradi, lekin ba'zi istisnolar uchun bundan keyin stekga qo'shimcha xato kodi suriladi, shuning uchun barcha ishlov beruvchilarni to'xtatib bo'lmaydi. oddiy IRETD (yoki 16 bitli versiya uchun IRET). Uzilish eshigi va qopqon darvozasi o'rtasidagi yagona farq shundaki, boshqaruv uzilish eshigi orqali uzatilganda, ishlov beruvchi IRETD ni bajarmaguncha keyingi uzilishlar avtomatik ravishda o'chiriladi. Bu mexanizm apparat uzilishlarini qayta ishlovchilar uchun ma'qul deb hisoblanadi, ishlov beruvchi bajarilayotgan vaqtda uzilishlarni o'chirmaydigan qopqon shlyuzi esa dasturiy uzilishlarni qayta ishlash uchun (aslida trap tipidagi istisnolar) afzallik beriladi. Bundan tashqari, himoyalangan rejimda, uzilish ishlovchisi chaqirilganda, TF kuzatuv bayrog'i qayta o'rnatiladi.
|
| |