Exemplo n.º 1
0
    def dispatchModule(self, module):
        tag = module.name.upper()
        print(r'const char *g_sz%sDllName = NULL;' % (tag, ))
        print(r'HMODULE g_h%sModule = NULL;' % (tag, ))
        print(r'')
        print(r'static PROC')
        print(r'_get%sProcAddress(LPCSTR lpProcName) {' % tag)
        print(r'    if (!g_h%sModule) {' % tag)
        print(r'        if (g_sz%sDllName) {' % tag)
        print(r'            g_h%sModule = LoadLibraryA(g_sz%sDllName);' %
              (tag, tag))
        print(r'            if (!g_h%sModule) {' % tag)
        print(
            r'                os::log("warning: failed to load %%s\n", g_sz%sDllName);'
            % tag)
        print(r'            }')
        print(r'        }')
        print(r'        if (!g_h%sModule) {' % tag)
        print(r'            g_h%sModule = LoadLibraryA("%s.dll");' %
              (tag, module.name))
        print(r'        }')
        print(r'        if (!g_h%sModule) {' % tag)
        print(r'            os::log("error: failed to load %s.dll\n");' %
              module.name)
        print(r'            exit(1);')
        print(r'        }')
        print(r'    }')
        print(r'    return GetProcAddress(g_h%sModule, lpProcName);' % tag)
        print(r'}')
        print(r'')

        Dispatcher.dispatchModule(self, module)
Exemplo n.º 2
0
    def dispatchModule(self, module):
        tag = module.name.upper()
        print r'const char *g_sz%sDllName = NULL;' % (tag,)
        print r'HMODULE g_h%sModule = NULL;' % (tag,)
        print r''
        print r'static PROC'
        print r'_get%sProcAddress(LPCSTR lpProcName) {' % tag
        print r'    if (!g_h%sModule) {' % tag
        print r'        if (g_sz%sDllName) {' % tag
        print r'            g_h%sModule = LoadLibraryA(g_sz%sDllName);' % (tag, tag)
        print r'            if (!g_h%sModule) {' % tag
        print r'                os::log("warning: failed to load %%s\n", g_sz%sDllName);' % tag 
        print r'            }'
        print r'        }'
        print r'        if (!g_h%sModule) {' % tag
        print r'            g_h%sModule = LoadLibraryA("%s.dll");' % (tag, module.name)
        print r'        }'
        print r'        if (!g_h%sModule) {' % tag
        print r'            os::log("error: failed to load %s.dll\n");' % module.name
        print r'            exit(1);'
        print r'        }'
        print r'    }'
        print r'    return GetProcAddress(g_h%sModule, lpProcName);' % tag
        print r'}'
        print r''

        Dispatcher.dispatchModule(self, module)
Exemplo n.º 3
0
    def dispatchModule(self, module):
        tag = module.name.upper()
        print r'HMODULE g_h%sModule = NULL;' % (tag,)
        print r''
        print r'static PROC'
        print r'_get%sProcAddress(LPCSTR lpProcName) {' % tag
        print r'    if (!g_h%sModule) {' % tag
        print r'        char szDll[MAX_PATH] = {0};'
        print r'        if (!GetSystemDirectoryA(szDll, MAX_PATH)) {'
        print r'            return NULL;'
        print r'        }'
        print r'        strcat(szDll, "\\\\%s.dll");' % module.name
        print r'        g_h%sModule = LoadLibraryA(szDll);' % tag
        print r'        if (!g_h%sModule) {' % tag
        print r'            return NULL;'
        print r'        }'
        print r'    }'
        print r'    return GetProcAddress(g_h%sModule, lpProcName);' % tag
        print r'}'
        print r''

        Dispatcher.dispatchModule(self, module)
Exemplo n.º 4
0
    def dispatchModule(self, module):
        print r'Module g_mod%s("%s");' % (module.name.upper(), module.name)

        Dispatcher.dispatchModule(self, module)
Exemplo n.º 5
0
    def dispatchModule(self, module):
        print(r'Module g_mod%s("%s");' % (module.name.upper(), module.name))

        Dispatcher.dispatchModule(self, module)