#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::mHandle, と NULL. 参照元 dkcUnityArchiversCommand(), と load_dll(). 00034 { 00035 if(NULL==dll || NULL==dll->mHandle){ 00036 return NULL; 00037 } 00038 #ifdef WIN32 00039 return (void *)GetProcAddress(dll->mHandle,id); 00040 #else 00041 return (void *)dlsym(dll->mHandle, id); 00042 #endif 00043 }
|
|
Win32APIで言うLoadLibrary
参照先 dkcAllocate(), dkcFree(), dkc_DLL::mHandle, と NULL. 参照元 dkcUnityArchiversCommand(), と load_dll(). 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
参照元 dkcUnityArchiversCommand(). 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 }
|