57 lines
1.4 KiB
C
57 lines
1.4 KiB
C
|
// --convdllc.h----------------------------------------------------------------
|
||
|
//
|
||
|
// Conversion DLL cache object header file.
|
||
|
//
|
||
|
// Copyright (C) Microsoft Corp., 1986-1996. All rights reserved.
|
||
|
//
|
||
|
// ----------------------------------------------------------------------------
|
||
|
|
||
|
#ifndef _CONVDLLC_H
|
||
|
#pragma option push -b -a8 -pc -A- /*P_O_Push*/
|
||
|
#define _CONVDLLC_H
|
||
|
|
||
|
//$--CDllCache-----------------------------------------------------------------
|
||
|
//
|
||
|
// Object to maintain cache of most frequently used conversion
|
||
|
// DLLs
|
||
|
//
|
||
|
//-----------------------------------------------------------------------------
|
||
|
|
||
|
// Constants
|
||
|
|
||
|
// maximum number of cached DLLs maintained
|
||
|
const UINT nCachedDlls = 1024;
|
||
|
|
||
|
class CDllCache
|
||
|
{
|
||
|
public:
|
||
|
|
||
|
CDllCache(); // constructor
|
||
|
~CDllCache(); // destructor
|
||
|
|
||
|
// Loads the DLL and saves in the cache
|
||
|
HRESULT HrAdd(
|
||
|
IN LPWSTR lpwszDllName); // name of DLL to load and add
|
||
|
|
||
|
// Finds handle of DLL in the cache
|
||
|
HRESULT HrFind(
|
||
|
IN LPWSTR lpwszDllName, // name of DLL to find
|
||
|
OUT HINSTANCE * phInst); // pointer to DLL instance handle
|
||
|
|
||
|
private:
|
||
|
|
||
|
// structure for cached DLL entries
|
||
|
struct SDllCache
|
||
|
{
|
||
|
WCHAR lpwszName[MAX_PATH + 1]; // DLL name
|
||
|
HINSTANCE hInst; // DLL instance handle
|
||
|
};
|
||
|
|
||
|
// array of pointers to cached DLLs
|
||
|
SDllCache * m_rgSDllCache[nCachedDlls];
|
||
|
|
||
|
};
|
||
|
|
||
|
#pragma option pop /*P_O_Pop*/
|
||
|
#endif // _CONVDLLC_H
|