Создание VxD на Visual C++ без ассемблерных модулей






Создание VxD на Visual C++ без ассемблерных модулей

Создание VxD на Visual C++ без ассемблерных модулей
Смысл и назначение драйвера
Имя и идентификатор драйвера
Статические и динамические драйверы
Порядок загрузки статических драйверов
Системные сообщения драйверу

Сервисные функции драйвера
Интерфейс с прикладными программами
Структура и функционирование драйвера
Секции файла драйвера
Блок описателя драйвера
Контексты
Доступ к памяти
Повторная входимость
Загрузка, работа и выгрузка драйвера
Среда выполнения

Стандартные библиотеки
Вспомогательные функции (wrappers)
Функции, вызываемые извне
Неявные обращения к функциям поддержки
Экспорт ссылки на DDB
Структура DEF-файла для построения VxD
Установки компилятора и компоновщика
Параметры секций
Отладка
Общая схема драйвера VxD

Средства разработки, включаемые файлы и библиотеки
VxD_Desc_Block - блок описателя устройства
Client_Reg_Struc - структура пакета регистров клиента
DIOCParams - параметры запроса DeviceIoControl
Диспетчер системных сообщений
Обработчики сервисных функций
Обработчики вызовов API
DEVICE_INIT - инициализация статического драйвера
SYS_DYNAMIC_DEVICE_INIT - инициализация динамического драйвера
DEVICE_EXIT - завершение динамического драйвера

CREATE_VM - создание новой виртуальной машины
VM_INIT - инициализация новой виртуальной машины
VM_TERMINATE - завершение виртуальной машины
DESTROY_VM - уничтожение виртуальной машины
CREATE_THREAD - создание новой задачи
THREAD_INIT - инициализация новой задачи
TERMINATE_THREAD - завершение задачи
DESTROY_THREAD - уничтожение задачи
SYSTEM_EXIT - завершение работы системы
W32_DEVICEIOCONTROL - запрос от приложения Win32

VMMCall, VMMJmp, VxDCall, VxDJmp - вызов сервисных функций VxD
_SelectorMapFlat - отображение сегментного адреса в линейный
Out_Debug_String - вывод отладочного сообщения
_Sprintf - форматирование строки
Пример построения функции-обертки
Пример простого VxD

Delphi - база знаний

Delphi и Flash. Совмещение несовместимого! Разве возможно совместить Флэш-ролики и Дельфи-приложения. Раньше я думал что НЕТ. Но теперь я знаю не только, что это возможно, но и знаю как это делается!!! И сейчас я вам расскажу об этом. Во-первых хочется отметить преимущества использования флэш-роликов в ваших программах. Если вы сумеете гармонично вписать небольшой флэш-ролик в вашу программу, то несомненно внешний вид программы будет намного привлекательнее (главное не переборщить, увлекаясь дизайном, не надо забывать о том что программа должна быть удобна и проста в использовании! ).
Итак, как же совместить Флэш и Дельфи? (Надеюсь, что у вас Флэш установлен:))
Запустите Дельфи и выберите пункт меню Component->Import ActiveX Control... Перед вами откроется диалоговое окно с заголовком Import ActiveX Control. В разделе Registered Controls выберите Shockwave Flash. В разделе Pallete Page... Выберите страницу в палитре компонентов, на которой будет располагаться установленный компонент (по умолчанию это ActiveX). В разделе Unit Dir Name... путь к папке куда будет установлен компонент.
Нажмите на кнопку Install. Перед вами появится окно, в котором вам нужно будет выбрать в какой пакет будет установлен компонент (вы можете установить как в уже существующий, так и в новый пакет). Затем перед вами появится окно редактирования выбранного пакета и Дельфи вас спросит: "...Package will be rebuilt. Continue?". Ответьте Yes. Все готово теперь можно использовать флэш в ваших приложениях!!!


Ипотека

Высшая стадия развития кредита - ипотека. Суть для банкиров прежняя - наложить лапу на ваши честно заработанные денежки. При всей кажущейся привлекательности продукта, остается один маленький минус - астрономическая конечная цена квартиры. После выплаты всей ипотеки ваша недвижимость по цене улететит в небеса.

Закон об ипотеке
Зарубежная ипотека
Ипотечный кредит
Ипотека в России
Учебники об ипотеке