メインページ | アルファベット順一覧 | 構成 | ファイル一覧 | 構成メンバ | ファイルメンバ | 関連ページ

dkcDLL.c

#include "dkcDLL.h"

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

Include dependency graph

ソースコードを見る。

マクロ定義

#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.


説明

d金魚
から:
2004/04/26

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


マクロ定義

#define DKUTIL_C_DLL_C
 

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


関数

void* WINAPI dkcGetProcAddress DKC_DLL dll,
const char *  id
 

Win32APIで言うGetProcAddress.

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

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

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 }

DKC_DLL* WINAPI dkcLoadLibrary const char *  filename  ) 
 

Win32APIで言うLoadLibrary.

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

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

int WINAPI dkcUnloadLibrary DKC_DLL **  pp  ) 
 

Win32APIで言うFreeLibrary.

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

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


dkutil_cに対してTue Dec 7 01:10:11 2004に生成されました。 doxygen 1.3.6