#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.
00011 {
00012 DKC_DLL *p = NULL;
00013 p = dkcAllocate(sizeof(DKC_DLL));
00014 if(NULL==p) return NULL;
00015
00016 #ifdef WIN32
00017 p->mHandle = LoadLibrary(filename);
00018 #else
00019 p->mHandle = dlopen(filename, RTLD_NOW | RTLD_GLOBAL);
00020 #endif
00021 if(p->mHandle == 0){
00022 goto Error;
00023 }
00024 return p;
00025 Error:
00026 dkcFree(&p);
00027 return NULL;
00028 }
|
|
|
Win32APIで言うFreeLibrary.
参照先 DKC_DLL, dkcFree(), edk_FAILED, と NULL.
00047 {
00048 if(NULL==pp || NULL==*pp || NULL==(*pp)->mHandle){
00049 return edk_FAILED;
00050 }
00051
00052 #ifdef WIN32
00053 FreeLibrary((*pp)->mHandle);
00054 #else
00055 dlclose((*pp)->mHandle);
00056 #endif
00057 return dkcFree(pp);
00058 } |
1.3.6