Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//----------------------------------------------------------------------------- // // File: loadlib.inl // Copyright (C) 1994-1997 Microsoft Corporation // All rights reserved. // // // //-----------------------------------------------------------------------------
inline CLoadLibrary::CLoadLibrary(void) { m_hDll = NULL; }
inline HINSTANCE CLoadLibrary::GetHandle(void) const { return m_hDll; }
inline CLoadLibrary::operator HINSTANCE(void) const { return GetHandle(); }
inline HINSTANCE CLoadLibrary::ExtractHandle(void) { HINSTANCE hReturn;
hReturn = m_hDll;
m_strFileName.Empty(); m_hDll = NULL;
return hReturn; }
inline const CString & CLoadLibrary::GetFileName(void) const { return m_strFileName; }
inline BOOL CLoadLibrary::LoadLibrary( const TCHAR *szFileName) { LTASSERT(m_hDll == NULL); m_strFileName = szFileName; m_hDll = AfxLoadLibrary(m_strFileName);
return (m_hDll != NULL); }
inline void CLoadLibrary::WrapLibrary( HINSTANCE hDll) { m_hDll = hDll; }
inline CLoadLibrary::CLoadLibrary( const CLoadLibrary &llSource) { m_hDll = NULL;
if (llSource.GetHandle() != NULL) { LoadLibrary(llSource.GetFileName()); } }
inline void CLoadLibrary::operator=( const CLoadLibrary &llSource) { LTASSERT(m_hDll == NULL);
if (llSource.GetHandle() != NULL) { LoadLibrary(llSource.GetFileName()); } }
inline FARPROC CLoadLibrary::GetProcAddress( const TCHAR *szProcName) const { FARPROC fpFunction = NULL; if (m_hDll != NULL) { fpFunction = ::GetProcAddress(m_hDll, szProcName); }
return fpFunction; }
inline BOOL CLoadLibrary::FreeLibrary(void) { BOOL fRetVal = TRUE; if (m_hDll != NULL) { fRetVal = AfxFreeLibrary(m_hDll); m_hDll = NULL; m_strFileName.Empty(); }
return fRetVal; }
inline CLoadLibrary::~CLoadLibrary() { FreeLibrary(); }
|