windows-nt/Source/XPSP1/NT/com/ole32/olethunk/ole16/compobj/dlltable.h
2020-09-26 16:20:57 +08:00

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__