41 lines
1,019 B
C
41 lines
1,019 B
C
|
//+---------------------------------------------------------------------------
|
||
|
//
|
||
|
// Microsoft Windows
|
||
|
// Copyright (C) Microsoft Corporation, 1992 - 1994.
|
||
|
//
|
||
|
// File: dlltable.h
|
||
|
//
|
||
|
// Contents: DLL tracking class
|
||
|
//
|
||
|
// Classes: CDll
|
||
|
//
|
||
|
// History: 16-Mar-94 DrewB Taken from OLE2 16-bit sources
|
||
|
//
|
||
|
//----------------------------------------------------------------------------
|
||
|
|
||
|
#ifndef __DLLTABLE_H__
|
||
|
#define __DLLTABLE_H__
|
||
|
|
||
|
class FAR CDlls
|
||
|
{
|
||
|
public:
|
||
|
HINSTANCE GetLibrary(LPSTR pLibName, BOOL fAutoFree);
|
||
|
void ReleaseLibrary(HINSTANCE hInst);
|
||
|
void FreeAllLibraries(void);
|
||
|
void FreeUnusedLibraries(void);
|
||
|
|
||
|
CDlls() { m_size = 0; m_pDlls = NULL; }
|
||
|
~CDlls() {}
|
||
|
|
||
|
private:
|
||
|
UINT m_size; // Number of entries
|
||
|
struct {
|
||
|
HINSTANCE hInst;
|
||
|
ULONG refsTotal; // total number of refs
|
||
|
ULONG refsAuto; // number of autounload refs
|
||
|
LPFNCANUNLOADNOW lpfnDllCanUnloadNow; // set on first load
|
||
|
} FAR* m_pDlls;
|
||
|
};
|
||
|
|
||
|
#endif // #ifndef __DLLTABLE_H__
|