This commit is contained in:
2024-08-07 09:16:27 -04:00
parent fdfadd5c7e
commit 5f971cf684
5200 changed files with 731717 additions and 0 deletions

38
test/test.cpp Normal file
View 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;
}