Files
BCompat/common.h
T

34 lines
996 B
C

#ifndef BCOMPAT_COMMON_H
#define BCOMPAT_COMMON_H
#define WIN32_LEAN_AND_MEAN
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#define DLL_EXPORT __declspec(dllexport)
#define getFunction(dllName, functionName) GetProcAddress(GetModuleHandleA(dllName), functionName)
#ifndef DLL_NAME
#define DLL_NAME "Unknown"
#endif
void logMSG(LPCSTR msg, LPCSTR level) {
char buffer[512];
char name[128];
GetModuleFileName(NULL, name, sizeof(name));
typedef int (__cdecl *sprintfPtr)(char* stream, const char* format, ...);
sprintfPtr sprintf = (sprintfPtr) getFunction("msvcrt.dll", "sprintf");
sprintf(buffer, "[%s] [%s | %s] %s", level, name, DLL_NAME, msg);
CallNamedPipe(TEXT("\\\\.\\pipe\\bcompat"), buffer, sizeof(buffer), NULL, 0, NULL, NMPWAIT_NOWAIT);
}
#define logDebug(msg) logMSG(msg, "DEBUG");
#define logInfo(msg) logMSG(msg, "INFO");
#define logWarn(msg) logMSG(msg, "WARN");
#define logError(msg) logMSG(msg, "ERROR");
#endif //BCOMPAT_COMMON_H