windows-nt/Source/XPSP1/NT/multimedia/media/deluxecd/cdnet/dllmain.cpp
2020-09-26 16:20:57 +08:00

64 lines
1.1 KiB
C++

// MMComp.cpp : Implementation of DLL Exports.
#include "windows.h"
#include "netres.h"
#include "tchar.h"
#include "getinfo.h"
#include "cdnet.h"
HINSTANCE g_dllInst = NULL;
HINSTANCE g_hURLMon = NULL;
CRITICAL_SECTION g_Critical;
CRITICAL_SECTION g_BatchCrit;
extern "C"
HRESULT WINAPI CDNET_CreateInstance(LPUNKNOWN pUnkOuter, REFIID riid, void ** ppvObj)
{
CCDNet* pObj;
HRESULT hr = E_OUTOFMEMORY;
*ppvObj = NULL;
if (NULL!=pUnkOuter && IID_IUnknown!=riid)
{
return CLASS_E_NOAGGREGATION;
}
pObj = new CCDNet();
if (NULL==pObj)
{
return hr;
}
hr = pObj->QueryInterface(riid, ppvObj);
if (FAILED(hr))
{
delete pObj;
}
return hr;
}
extern "C"
void WINAPI CDNET_Init(HINSTANCE hInst)
{
g_dllInst = hInst;
InitializeCriticalSection(&g_Critical);
InitializeCriticalSection(&g_BatchCrit);
}
extern "C"
void WINAPI CDNET_Uninit()
{
if (g_hURLMon)
{
FreeLibrary(g_hURLMon);
}
DeleteCriticalSection(&g_Critical);
DeleteCriticalSection(&g_BatchCrit);
}