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

dkcDLL.h

DLL wrapper. [詳細]

#include "dkcOSIndependent.h"

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

Include dependency graph

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

Included by dependency graph

ソースコードを見る。

構成

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.


説明

DLL wrapper.

作者:
d金魚
から:
2004/04/26
覚え書き:
DLL wrapper

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


型定義

typedef struct dkc_DLL DKC_DLL
 

参照元 dkcGetProcAddress(), dkcLoadLibrary(), dkcUnityArchiversCommand(), dkcUnloadLibrary(), と load_dll().


関数

DKC_EXTERN void* WINAPI dkcGetProcAddress DKC_DLL dll,
const char *  id
 

Win32APIで言うGetProcAddress.

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

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

DKC_EXTERN DKC_DLL* WINAPI dkcLoadLibrary const char *  filename  ) 
 

Win32APIで言うLoadLibrary.

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

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

DKC_EXTERN int WINAPI dkcUnloadLibrary DKC_DLL **  pp  ) 
 

Win32APIで言うFreeLibrary.

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

参照先 DKC_DLL, dkcFree(), と NULL.

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


dkutil_cに対してTue Feb 22 02:02:14 2005に生成されました。 doxygen 1.3.6