Initial
This commit is contained in:
38
test/test.cpp
Normal file
38
test/test.cpp
Normal file
@@ -0,0 +1,38 @@
|
||||
#include <common/windows.hpp>
|
||||
#include <com/factory.hpp>
|
||||
#include <test/inproc.hpp>
|
||||
#include <common/console.hpp>
|
||||
|
||||
DLLServer sDLLServer;
|
||||
Console sWinConsole(Console::ConsoleType(Console::Write|Console::Read),true);
|
||||
InProcServerDemoInstantiator inProcServerDemoInstantiator;
|
||||
ClassFactory sClassFactory(sDLLServer,sWinConsole);
|
||||
|
||||
STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid,void **ppv)
|
||||
{
|
||||
sWinConsole.writeLine("<DllGetClassObject>");
|
||||
*ppv=0;
|
||||
return sClassFactory.QueryInterface(riid,ppv);
|
||||
}
|
||||
|
||||
STDAPI DllCanUnloadNow(void)
|
||||
{
|
||||
sWinConsole.writeLine("<DllCanUnloadNow>");
|
||||
return (0==sDLLServer.getRefCount()&&0==sDLLServer.getLockCount()?S_OK:S_FALSE);
|
||||
}
|
||||
|
||||
BOOL _stdcall DllMain(HINSTANCE /*hInstance*/,DWORD reasonCode,LPVOID /*lpvReserved*/)
|
||||
{
|
||||
switch(reasonCode)
|
||||
{
|
||||
case DLL_PROCESS_ATTACH :
|
||||
sClassFactory.setInstantiator(&inProcServerDemoInstantiator);
|
||||
sWinConsole.writeLine("<Process attach.>");
|
||||
break;
|
||||
case DLL_PROCESS_DETACH :
|
||||
sWinConsole.writeLine("<Process detach.>");
|
||||
sWinConsole.read();
|
||||
break;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
Reference in New Issue
Block a user