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__
|