windows-nt/Source/XPSP1/NT/ds/adsi/include/nodll.hxx
2020-09-26 16:20:57 +08:00

78 lines
2.1 KiB
C++

#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