- **Описание:** Загружает DLL в адресное пространство процесса.
- **Пример:** HINSTANCE hDll = LoadLibrary("MyDLL.dll");
2. `GetProcAddress`
- **Описание:** Получает адрес экспортируемой функции или переменной из загруженной DLL.
- **Пример:** typedef int (*AddFunction)(int, int);
AddFunction addFunc = (AddFunction)GetProcAddress(hDll, "Add");
3.`FreeLibrary`
- **Описание:** Выгружает DLL из адресного пространства процесса.
- **Пример:** FreeLibrary(hDll);
4. `GetModuleFileName`
- **Описание:** Получает полный путь к исполняемому файлу или DLL, откуда была вызвана функция.
- Пример char buffer[MAX_PATH];
GetModuleFileName(NULL, buffer, MAX_PATH);
5. `GetLastError`
- **Описание:** Возвращает код последней ошибки, произошедшей в системе.
- **Пример:** DWORD error = GetLastError();
6. `SetLastError`
- **Описание:** Устанавливает код ошибки для использования в последующих вызовах.
- **Пример:** SetLastError(ERROR_CUSTOM);
- **Описание:** Получает указатель на данные ресурса, загруженного с помощью `LoadResource`.
- **Пример:**
const char* myString = static_cast(LockResource(hResData));
Эти функции обеспечивают ключевые операции при работе с динамическими библиотеками в Windows. При использовании DLL важно обращаться к ним осторожно и учитывать потенциальные ошибки, чтобы обеспечить стабильность и безопасность приложения.