#include "dkcDLL.h"
dkcDLL.cのインクルード依存関係図
マクロ定義 | |
#define | DKUTIL_C_DLL_C |
関数 | |
DKC_DLL *WINAPI | dkcLoadLibrary (const char *filename) |
Win32APIで言うLoadLibrary. | |
void *WINAPI | dkcGetProcAddress (DKC_DLL *dll, const char *id) |
Win32APIで言うGetProcAddress. | |
int WINAPI | dkcUnloadLibrary (DKC_DLL **pp) |
Win32APIで言うFreeLibrary. |
dkcDLL.c で定義されています。
|
|
|
Win32APIで言うGetProcAddress.
参照先 DKC_DLL, dkc_DLL::mHandle, と NULL.
|
|
Win32APIで言うLoadLibrary.
参照先 DKC_DLL, dkcAllocate(), dkcFree(), dkc_DLL::mHandle, と NULL.
00012 { 00013 DKC_DLL *p = NULL; 00014 p = dkcAllocate(sizeof(DKC_DLL)); 00015 if(NULL==p) return NULL; 00016 00017 #ifdef WIN32 00018 p->mHandle = LoadLibrary(filename); 00019 #else 00020 p->mHandle = dlopen(filename, RTLD_NOW | RTLD_GLOBAL); 00021 #endif 00022 if(p->mHandle == 0){ 00023 goto Error; 00024 } 00025 return p; 00026 Error: 00027 dkcFree((void **)&p); 00028 return NULL; 00029 } |
|
Win32APIで言うFreeLibrary.
参照先 DKC_DLL, dkcFree(), edk_FAILED, と NULL.
00048 { 00049 if(NULL==pp || NULL==*pp || NULL==(*pp)->mHandle){ 00050 return edk_FAILED; 00051 } 00052 00053 #ifdef WIN32 00054 FreeLibrary((*pp)->mHandle); 00055 #else 00056 dlclose((*pp)->mHandle); 00057 #endif 00058 return dkcFree((void **)pp); 00059 } |