summaryrefslogtreecommitdiff
path: root/sal/osl/w32/module.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sal/osl/w32/module.cxx')
-rw-r--r--[-rwxr-xr-x]sal/osl/w32/module.cxx32
1 files changed, 32 insertions, 0 deletions
diff --git a/sal/osl/w32/module.cxx b/sal/osl/w32/module.cxx
index 5554eadc02cc..8db826d60fc5 100755..100644
--- a/sal/osl/w32/module.cxx
+++ b/sal/osl/w32/module.cxx
@@ -108,6 +108,38 @@ oslModule SAL_CALL osl_loadModule(rtl_uString *strModuleName, sal_Int32 /*nRtldM
}
/*****************************************************************************/
+/* osl_loadModuleAscii */
+/*****************************************************************************/
+oslModule SAL_CALL osl_loadModuleAscii(const sal_Char *pModuleName, sal_Int32 nRtldMode )
+{
+ (void) nRtldMode; /* avoid warnings */
+
+ HINSTANCE hInstance;
+ UINT errorMode = SetErrorMode(SEM_NOOPENFILEERRORBOX | SEM_FAILCRITICALERRORS);
+ oslModule ret = 0;
+ oslFileError nError;
+
+ RTL_LOGFILE_TRACE1( "{ osl_loadModule start: %s", pModuleName );
+
+ OSL_ASSERT(pModuleName);
+
+ hInstance = LoadLibrary(pModuleName);
+ if (hInstance == NULL)
+ hInstance = LoadLibraryEx(pModuleName, NULL,
+ LOAD_WITH_ALTERED_SEARCH_PATH);
+
+ if (hInstance <= (HINSTANCE)HINSTANCE_ERROR)
+ hInstance = 0;
+
+ ret = (oslModule) hInstance;
+ SetErrorMode(errorMode);
+
+ RTL_LOGFILE_TRACE1( "} osl_loadModule end: %s", pModuleName );
+
+ return ret;
+}
+
+/*****************************************************************************/
/* osl_getModuleHandle */
/*****************************************************************************/