#include "dkcOSIndependent.h"
dkcDLL.hのインクルード依存関係図

このグラフは、どのファイルから直接、間接的にインクルードされているかを示しています。

構成 | |
| struct | dkc_DLL |
型定義 | |
| typedef dkc_DLL | DKC_DLL |
関数 | |
| DKC_EXTERN DKC_DLL *WINAPI | dkcLoadLibrary (const char *filename) |
| Win32APIで言うLoadLibrary. | |
| DKC_EXTERN void *WINAPI | dkcGetProcAddress (DKC_DLL *dll, const char *id) |
| Win32APIで言うGetProcAddress. | |
| DKC_EXTERN int WINAPI | dkcUnloadLibrary (DKC_DLL **pp) |
| Win32APIで言うFreeLibrary. | |
d金魚
dkcDLL.h で定義されています。
|
|
参照元 dkcGetProcAddress(), dkcLoadLibrary(), と dkcUnloadLibrary(). |
|
||||||||||||
|
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 } |
1.3.6