GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — MemoryModule/MemoryModule.h at master · binarymaster/MemoryModule Expand file tree/ Copy pathMemoryModule.hMore file actions 131 lines (109 loc) · 3.37 KB / Copy pathMemoryModule.hFile metadata and controls131 lines (109 loc) · 3.37 KB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 #ifndef __MEMORY_MODULE_HEADER #define __MEMORY_MODULE_HEADER #include "stdafx.h" #include <windows.h> typedef void *HMEMORYMODULE; typedef void *HMEMORYRSRC; typedef void *HCUSTOMMODULE; #ifdef __cplusplus extern "C" { #endif typedef struct { void* EntryPoint; wchar_t* CommandLine; bool InThread; void* _ModuleHandle; } MEMORYMODULE_START_ARGS; typedef HCUSTOMMODULE (*CustomLoadLibraryFunc)(LPCSTR, void *); typedef FARPROC (*CustomGetProcAddressFunc)(HCUSTOMMODULE, LPCSTR, void *); typedef void (*CustomFreeLibraryFunc)(HCUSTOMMODULE, void *); /** * Load EXE/DLL from memory location with the given size. * * All dependencies are resolved using default LoadLibrary/GetProcAddress * calls through the Windows API. */ HMEMORYMODULE MemoryLoadLibrary(const void *, size_t, bool); /** * Load EXE/DLL from memory location with the given size using custom dependency * resolvers. * * Dependencies will be resolved using passed callback methods. */ HMEMORYMODULE MemoryLoadLibraryEx(const void *, size_t, bool, CustomLoadLibraryFunc, CustomGetProcAddressFunc, CustomFreeLibraryFunc, void *); /** * Get address of exported method. Supports loading both by name and by * ordinal value. */ FARPROC MemoryGetProcAddress(HMEMORYMODULE, LPCSTR); /** * Free previously loaded EXE/DLL. */ void MemoryFreeLibrary(HMEMORYMODULE); /** * Execute entry point (EXE only). The entry point can only be executed * if the EXE has been loaded to the correct base address or it could * be relocated (i.e. relocation information have not been stripped by * the linker). * * Important: calling this function will not return, i.e. once the loaded * EXE finished running, the process will terminate. * * Returns a negative value if the entry point could not be executed. */ int MemoryCallEntryPoint(HMEMORYMODULE, MEMORYMODULE_START_ARGS*); /** * Find the location of a resource with the specified type and name. */ HMEMORYRSRC MemoryFindResource(HMEMORYMODULE, LPCTSTR, LPCTSTR); /** * Find the location of a resource with the specified type, name and language. */ HMEMORYRSRC MemoryFindResourceEx(HMEMORYMODULE, LPCTSTR, LPCTSTR, WORD); /** * Get the size of the resource in bytes. */ DWORD MemorySizeofResource(HMEMORYMODULE, HMEMORYRSRC); /** * Get a pointer to the contents of the resource. */ LPVOID MemoryLoadResource(HMEMORYMODULE, HMEMORYRSRC); /** * Load a string resource. */ int MemoryLoadString(HMEMORYMODULE, UINT, LPTSTR, int); /** * Load a string resource with a given language. */ 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 *); void MemoryModuleExecuteCode(MEMORYMODULE_START_ARGS*); #ifdef __cplusplus } #endif #endif |
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |