logo
Диалог для просмотра метаданных FAT32

3.2 Функции и переменные DLL-модуля

Таблица 3.2.1 - Функции использующееся в DLL-модуле

Метод

Назначение

BOOL APIENTRY DllMain

(

HANDLE hModule,

DWORD ul_reason_for_call,

LPVOID lpReserved

)

DllMain - дополнительная точка входа в динамически-подключаемую библиотеку (DLL). Если функция используется, то она вызывается системой тогда, когда процессы и потоки инициализированы и завершили работу или при вызове функции LoadLibrary и FreeLibrary.

Параметры

hInstance - дескриптор модуля DLL. Это значение - базовый адрес DLLв адресном пространстве ОС.

ul_reason_for_call - указывает, почему DLL вызывает функцию точки входа. Этим параметром может быть одно из ниже перечисленных значений:

DLL_PROCESS_ATTACH - DLL загружается в виртуальное адресное пространство текущего процесса в результате операции запуска или в результате вызова LoadLibrary.

DLL_THREAD_ATTACH - текущий процесс создает новый поток. Когда это происходит, система вызывает функцию

точки входа всех DLLs, в текущий момент связанных с процессом.

DLL_THREAD_DETACH-поток выходит чисто. Если DLL сохранила указатель на распределенную память в слоте TLS, она должна использовать эту возможность, чтобы освободить память.

DLL_PROCESS_DETACH - DLL выгружается из виртуального адресного пространства вызывающего процесса в результате неудачной загрузки DLL, завершения работы процесса или вызова функции FreeLibrary.

lpvReserved - NULL для динамических загрузок и не ПУСТО (NULL) для статических загрузок.

Возвращаемые значения

Когда система вызывает функцию DllMain созначением DLL_PROCESS_ATTACH, функция возвращает значение ИСТИНА (TRUE), если она завершается успешно.

Когда система вызывает функцию DllMain с каким-либо значением, а не DLL_PROCESS_ATTACH, возвращаемое значение игнорируется.

void ReadBoot

(

HWND hDlg,

UINT IDC_DAMP,

UINT IDC_DATA,

LPCTSTR path

)

ReadBoot - функция по чтению и расшифровке данных загрузочной области BOOT FAT.

Параметры

hDlg - дескриптор главного окна управляющего приложения

IDC_DAMP - определяет ID элемента диалогового окна управляющего приложения для отображения дампа BOOT.

IDC_DATA - определяет ID элемента диалогового окна управляющего приложения для отображения расшифрованной информации дампа BOOT.

path - содержит путь к тому FAT, для котрого получаем расшифровку BOOT.

Возвращаемые значения

Функцыя не возвращает значений.

void ReadTable

(

HWND hDlg,

UINT IDC_DAMP,

UINT IDC_DATA,

LPCTSTR path

)

ReadTable - функция по чтению и расшифровке данных таблицы FAT.

Параметры

hDlg - дескриптор главного окна управляющего приложения

IDC_DAMP - определяет ID элемента диалогового окна управляющего приложения для отображения дампа FAT.

IDC_DATA - определяет ID элемента диалогового окна управляющего приложения для отображения расшифрованной информации дампа FAT.

path - содержит путь к тому FAT, для котрого получаем расшифровку таблицы FAT.

Возвращаемые значения

Функция не возвращает значений.

void ReadRoot

(

HWND hDlg,

UINT IDC_DAMP,

UINT IDC_DATA,

LPCTSTR path,

UINT IDC_N,

UINT IDC_CHAIN,

int pos

)

ReadRoot - функция по чтению и расшифровке данных корневого каталога ROOT FAT.

Параметры

hDlg - дескриптор главного окна управляющего приложения

IDC_DAMP - определяет ID элемента диалогового окна управляющего приложения для отображения дампа ROOT.

IDC_DATA - определяет ID элемента диалогового окна управляющего приложения для отображения расшифрованной информации дампа ROOT.

path - содержит путь к тому FAT, для котрого получаем расшифровку BOOT.

IDC_N - определяет ID элемента диалогового окна управляющего приложения для отображения номера текущего кластера в цепочке.

pos - требуемый номер кластера в цепочке к котрому не обходимо осуществить переход

Возвращаемые значения

Функцыя не возвращает значений.