Files
djhackersdev_bemanitools/src/main/unicorntail/dllmain.c
T
2022-05-30 02:00:49 +00:00

61 lines
1.2 KiB
C

#include <windows.h>
#include <stdbool.h>
#include "hook/iohook.h"
#include "hooklib/app.h"
#include "imports/avs.h"
#include "unicorntail/p3io.h"
#include "unicorntail/usbmem.h"
#include "util/defs.h"
#include "util/log.h"
static bool my_dll_entry_init(char *sidcode, struct property_node *param);
static bool my_dll_entry_main(void);
static bool my_dll_entry_init(char *sidcode, struct property_node *param)
{
log_info("--- Begin unicorntail dll_entry_init ---");
iohook_push_handler(p3io_filter_dispatch_irp);
iohook_push_handler(usbmem_dispatch_irp);
p3io_filter_init();
usbmem_init();
log_info("--- End unicorntail dll_entry_init ---");
return app_hook_invoke_init(sidcode, param);
}
static bool my_dll_entry_main(void)
{
bool result;
result = app_hook_invoke_main();
usbmem_fini();
p3io_filter_fini();
return result;
}
BOOL WINAPI DllMain(HMODULE self, DWORD reason, void *ctx)
{
if (reason != DLL_PROCESS_ATTACH) {
goto end;
}
log_to_external(
log_body_misc, log_body_info, log_body_warning, log_body_fatal);
app_hook_init(my_dll_entry_init, my_dll_entry_main);
end:
return TRUE;
}