Mercurial > pub > dyncall > dyncall
comparison dynload/dynload_windows.c @ 242:85b61e8facfe
dynload:
- added new function dlGetLibraryPath to get path of already loaded lib
- covered new function in dynload_plain test
- cleanups/cosmetics for consistency
author | Tassilo Philipp |
---|---|
date | Thu, 04 May 2017 13:42:17 +0200 |
parents | 0ce6beba55df |
children | f5577f6bf97a |
comparison
equal
deleted
inserted
replaced
241:cde7b1f3b8f2 | 242:85b61e8facfe |
---|---|
42 DLLib* dlLoadLibrary(const char* libPath) | 42 DLLib* dlLoadLibrary(const char* libPath) |
43 { | 43 { |
44 return (DLLib*)(libPath != NULL ? LoadLibraryA(libPath) : GetModuleHandle(NULL)); | 44 return (DLLib*)(libPath != NULL ? LoadLibraryA(libPath) : GetModuleHandle(NULL)); |
45 } | 45 } |
46 | 46 |
47 void* dlFindSymbol(DLLib* libHandle, const char* symbol) | 47 |
48 void* dlFindSymbol(DLLib* pLib, const char* pSymbolName) | |
48 { | 49 { |
49 return (void*) GetProcAddress((HINSTANCE)libHandle, symbol); | 50 return (void*)GetProcAddress((HINSTANCE)pLib, pSymbolName); |
50 } | 51 } |
51 | 52 |
52 void dlFreeLibrary(DLLib* libHandle) | 53 |
54 void dlFreeLibrary(DLLib* pLib) | |
53 { | 55 { |
54 FreeLibrary((HINSTANCE)libHandle); | 56 FreeLibrary((HINSTANCE)pLib); |
55 } | 57 } |
56 | 58 |
59 | |
60 int dlGetLibraryPath(DLLib* pLib, char* sOut, int bufSize) | |
61 { | |
62 return GetModuleFileNameA((HMODULE)pLib, sOut, bufSize)+1; /* strlen + '\0' */ | |
63 } | |
64 |