mirror of
https://github.com/fancycode/MemoryModule
synced 2026-06-06 15:44:28 +00:00
+4
-4
@@ -423,7 +423,7 @@ BuildImportTable(PMEMORYMODULE module)
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
static HCUSTOMMODULE _LoadLibrary(LPCSTR filename, void *userdata)
|
HCUSTOMMODULE MemoryDefaultLoadLibrary(LPCSTR filename, void *userdata)
|
||||||
{
|
{
|
||||||
HMODULE result;
|
HMODULE result;
|
||||||
UNREFERENCED_PARAMETER(userdata);
|
UNREFERENCED_PARAMETER(userdata);
|
||||||
@@ -435,13 +435,13 @@ static HCUSTOMMODULE _LoadLibrary(LPCSTR filename, void *userdata)
|
|||||||
return (HCUSTOMMODULE) result;
|
return (HCUSTOMMODULE) result;
|
||||||
}
|
}
|
||||||
|
|
||||||
static FARPROC _GetProcAddress(HCUSTOMMODULE module, LPCSTR name, void *userdata)
|
FARPROC MemoryDefaultGetProcAddress(HCUSTOMMODULE module, LPCSTR name, void *userdata)
|
||||||
{
|
{
|
||||||
UNREFERENCED_PARAMETER(userdata);
|
UNREFERENCED_PARAMETER(userdata);
|
||||||
return (FARPROC) GetProcAddress((HMODULE) module, name);
|
return (FARPROC) GetProcAddress((HMODULE) module, name);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void _FreeLibrary(HCUSTOMMODULE module, void *userdata)
|
void MemoryDefaultFreeLibrary(HCUSTOMMODULE module, void *userdata)
|
||||||
{
|
{
|
||||||
UNREFERENCED_PARAMETER(userdata);
|
UNREFERENCED_PARAMETER(userdata);
|
||||||
FreeLibrary((HMODULE) module);
|
FreeLibrary((HMODULE) module);
|
||||||
@@ -449,7 +449,7 @@ static void _FreeLibrary(HCUSTOMMODULE module, void *userdata)
|
|||||||
|
|
||||||
HMEMORYMODULE MemoryLoadLibrary(const void *data, size_t size)
|
HMEMORYMODULE MemoryLoadLibrary(const void *data, size_t size)
|
||||||
{
|
{
|
||||||
return MemoryLoadLibraryEx(data, size, _LoadLibrary, _GetProcAddress, _FreeLibrary, NULL);
|
return MemoryLoadLibraryEx(data, size, MemoryDefaultLoadLibrary, MemoryDefaultGetProcAddress, MemoryDefaultFreeLibrary, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
HMEMORYMODULE MemoryLoadLibraryEx(const void *data, size_t size,
|
HMEMORYMODULE MemoryLoadLibraryEx(const void *data, size_t size,
|
||||||
|
|||||||
@@ -117,6 +117,30 @@ int MemoryLoadString(HMEMORYMODULE, UINT, LPTSTR, int);
|
|||||||
*/
|
*/
|
||||||
int MemoryLoadStringEx(HMEMORYMODULE, UINT, LPTSTR, int, WORD);
|
int MemoryLoadStringEx(HMEMORYMODULE, UINT, LPTSTR, int, WORD);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Default implementation of CustomLoadLibraryFunc that calls LoadLibraryA
|
||||||
|
* internally to load an additional libary.
|
||||||
|
*
|
||||||
|
* This is the default as used by MemoryLoadLibrary.
|
||||||
|
*/
|
||||||
|
HCUSTOMMODULE MemoryDefaultLoadLibrary(LPCSTR, void *);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Default implementation of CustomGetProcAddressFunc that calls GetProcAddress
|
||||||
|
* internally to get the address of an exported function.
|
||||||
|
*
|
||||||
|
* This is the default as used by MemoryLoadLibrary.
|
||||||
|
*/
|
||||||
|
FARPROC MemoryDefaultGetProcAddress(HCUSTOMMODULE, LPCSTR, void *);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Default implementation of CustomFreeLibraryFunc that calls FreeLibrary
|
||||||
|
* internally to release an additional libary.
|
||||||
|
*
|
||||||
|
* This is the default as used by MemoryLoadLibrary.
|
||||||
|
*/
|
||||||
|
void MemoryDefaultFreeLibrary(HCUSTOMMODULE, void *);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user