52template<
typename FUNC>
59 if ( m_hModule != NULL )
61 ::FreeLibrary(m_hModule);
83 : m_hModule(NULL), m_pFunc(NULL)
85 if ( !
LoadFunc(lpszDllName, lpszFuncName) )
98 bool LoadFunc(LPCSTR lpszDllName, LPCSTR lpszFuncName)
101 m_hModule = ::LoadLibraryA(lpszDllName);
102 if ( m_hModule != NULL )
104 m_pFunc =
reinterpret_cast<FUNC
>(::GetProcAddressA(m_hModule, lpszFuncName));
106 return (m_pFunc != NULL);
124 return (m_pFunc != NULL);
135 if ( m_pFunc == NULL )
170template<
typename FUNC>
173 _pFnc =
reinterpret_cast<FUNC
>(::GetProcAddressA(hInstance, lpszName));
174 return _pFnc != NULL;
CDynamicFuncT(LPCSTR lpszDllName, LPCSTR lpszFuncName)
コンストラクタ
~CDynamicFuncT(void)
デストラクタ
bool LoadFunc(LPCSTR lpszDllName, LPCSTR lpszFuncName)
[設定] 関数読込み.
FUNC operator()(void) const
[取得] 関数アドレス取得.
bool HasFunc(void) const
[確認] 関数アドレスを持っているか
CDynamicFuncT(void)
コンストラクタ
bool GetFuncAddress(FUNC &_pFnc, HINSTANCE hInstance, LPCSTR lpszName)
動的関数アドレス取得関数