mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
77 lines
2.1 KiB
77 lines
2.1 KiB
#ifndef _HXX_DLL
|
|
#define _HXX_DLL
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (C) Microsoft Corporation, 1992 - 1993.
|
|
//
|
|
// File: dll.hxx
|
|
//
|
|
// Contents: Project wide private global declarations and exports from
|
|
// dll directory
|
|
//
|
|
// History: 1-26-94 adams Created
|
|
// 6-Jun-94 doncl bracketed g_cs extern declaration with
|
|
// #if DBG==1
|
|
// 13-Jul-94 doncl changed g_cs to g_csDP, added g_csOT
|
|
//
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
//+------------------------------------------------------------------------
|
|
//
|
|
// Globals in DLL
|
|
//
|
|
//-------------------------------------------------------------------------
|
|
|
|
extern HINSTANCE g_hInst; // Instance of dll
|
|
|
|
|
|
#if DBG==1
|
|
extern CRITICAL_SECTION g_csDP; // for debugprint
|
|
extern CRITICAL_SECTION g_csOT; // for otracker
|
|
extern CRITICAL_SECTION g_csNew; // for debug new
|
|
#endif
|
|
extern CRITICAL_SECTION g_csMem; // for MemAlloc
|
|
|
|
//
|
|
// Functions to manipulate object count variable g_ulObjCount. This variable
|
|
// is used in the implementation of DllCanUnloadNow.
|
|
// NOTE: Please leave the externs within the functions so that it is not
|
|
// visible outside the dll project.
|
|
//
|
|
|
|
inline void
|
|
INC_OBJECT_COUNT(void)
|
|
{
|
|
extern ULONG g_ulObjCount;
|
|
InterlockedIncrement((LPLONG)&g_ulObjCount);
|
|
}
|
|
|
|
inline void
|
|
DEC_OBJECT_COUNT(void)
|
|
{
|
|
extern ULONG g_ulObjCount;
|
|
ADsAssert(g_ulObjCount > 0);
|
|
InterlockedDecrement((LPLONG)&g_ulObjCount);
|
|
}
|
|
|
|
inline ULONG
|
|
GET_OBJECT_COUNT(void)
|
|
{
|
|
extern ULONG g_ulObjCount;
|
|
return g_ulObjCount;
|
|
}
|
|
|
|
//+------------------------------------------------------------------------
|
|
//
|
|
// Dll project function exports
|
|
//
|
|
//-------------------------------------------------------------------------
|
|
|
|
int GetCachedClsidIndex(REFCLSID clsid);
|
|
IClassFactory * GetCachedClassFactory(int iclsid);
|
|
void GetCachedClsid(int iclsid, CLSID * pclsid);
|
|
|
|
#endif // #ifndef _HXX_DLL
|