メインページ | 構成 | ファイル一覧 | 構成メンバ | ファイルメンバ | 関連ページ

dkcDLL.c

#include "dkcDLL.h"

dkcDLL.cのインクルード依存関係図

Include dependency graph

ソースコードを見る。

関数

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.


説明

d金魚
から:
2004/04/26

dkcDLL.c で定義されています。


関数

void* WINAPI dkcGetProcAddress DKC_DLL dll,
const char *  id
 

Win32APIで言うGetProcAddress.

dkcDLL.c33 行で定義されています。

参照先 DKC_DLL, dkc_DLL::mHandle, と NULL.

00033                                                            {
00034     if(NULL==dll || NULL==dll->mHandle){
00035         return NULL;
00036         }
00037 #ifdef WIN32
00038     return (void *)GetProcAddress(dll->mHandle,id);
00039 #else
00040     return (void *)dlsym(dll->mHandle, id);
00041 #endif
00042 }

DKC_DLL* WINAPI dkcLoadLibrary const char *  filename  ) 
 

Win32APIで言うLoadLibrary.

dkcDLL.c11 行で定義されています。

参照先 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 }

int WINAPI dkcUnloadLibrary DKC_DLL **  pp  ) 
 

Win32APIで言うFreeLibrary.

dkcDLL.c47 行で定義されています。

参照先 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 }


dkutil_cに対してSun Jul 18 22:45:43 2004に生成されました。 doxygen 1.3.6