100 lines
1.3 KiB
C++
100 lines
1.3 KiB
C++
|
/*++
|
||
|
|
||
|
Copyright (c) 1995-1996 Microsoft Corporation
|
||
|
All rights reserved.
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
loadlib.cxx
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
Library Loader helper class
|
||
|
|
||
|
Author:
|
||
|
|
||
|
Steve Kiraly (SteveKi) 10/17/95
|
||
|
|
||
|
Revision History:
|
||
|
|
||
|
--*/
|
||
|
#include "spllibp.hxx"
|
||
|
#pragma hdrstop
|
||
|
|
||
|
TLibrary::
|
||
|
TLibrary(
|
||
|
LPCTSTR pszLibName
|
||
|
)
|
||
|
{
|
||
|
_hInst = LoadLibrary( pszLibName );
|
||
|
|
||
|
if( !_hInst )
|
||
|
{
|
||
|
DBGMSG( DBG_WARN, ( "Library.ctr: unable to load "TSTR"\n", pszLibName ));
|
||
|
}
|
||
|
}
|
||
|
|
||
|
TLibrary::
|
||
|
~TLibrary(
|
||
|
)
|
||
|
{
|
||
|
if( bValid() )
|
||
|
{
|
||
|
FreeLibrary( _hInst );
|
||
|
}
|
||
|
}
|
||
|
|
||
|
BOOL
|
||
|
TLibrary::
|
||
|
bValid(
|
||
|
VOID
|
||
|
) const
|
||
|
{
|
||
|
return _hInst != NULL;
|
||
|
}
|
||
|
|
||
|
FARPROC
|
||
|
TLibrary::
|
||
|
pfnGetProc(
|
||
|
IN LPCSTR pszProc
|
||
|
) const
|
||
|
{
|
||
|
FARPROC fpProc = bValid() ? GetProcAddress( _hInst, pszProc ) : NULL;
|
||
|
|
||
|
if( !fpProc )
|
||
|
{
|
||
|
DBGMSG( DBG_WARN, ( "Library.pfnGetProc: failed %s\n", pszProc ));
|
||
|
}
|
||
|
return fpProc;
|
||
|
}
|
||
|
|
||
|
FARPROC
|
||
|
TLibrary::
|
||
|
pfnGetProc(
|
||
|
IN UINT uOrdinal
|
||
|
) const
|
||
|
{
|
||
|
FARPROC fpProc = bValid() ? GetProcAddress( _hInst, (LPCSTR)MAKELPARAM( uOrdinal, 0 ) ) : NULL;
|
||
|
|
||
|
if( !fpProc )
|
||
|
{
|
||
|
DBGMSG( DBG_WARN, ( "Library.pfnGetProc: failed %d\n", uOrdinal ));
|
||
|
}
|
||
|
return fpProc;
|
||
|
}
|
||
|
|
||
|
HINSTANCE
|
||
|
TLibrary::
|
||
|
hInst(
|
||
|
VOID
|
||
|
) const
|
||
|
{
|
||
|
return _hInst;
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|