MCPcopy Create free account
hub / github.com/apitrace/apitrace / MyGetModuleFileNameA

Function MyGetModuleFileNameA

retrace/process_name.cpp:158–190  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

156
157
158static DWORD WINAPI
159MyGetModuleFileNameA(HMODULE hModule, LPSTR lpFilename, DWORD nSize)
160{
161 if (hModule == nullptr) {
162 if (0) {
163 void *pCallerAddr = ReturnAddress();
164 HMODULE hCallerModule = GetModuleFromAddress(pCallerAddr);
165 char szCaller[MAX_PATH];
166 DWORD dwRet = pfnGetModuleFileNameA(hCallerModule, szCaller, sizeof szCaller);
167 assert(dwRet > 0);
168
169 std::cerr << "GetModuleFileNameA(" << hModule << ") from " << szCaller << "\n";
170 }
171
172 assert(*g_processName);
173 assert(nSize != 0);
174
175 size_t len = strlen(g_processName);
176 if (len < nSize) {
177 memcpy(lpFilename, g_processName, len);
178 lpFilename[len] = 0;
179 SetLastError(ERROR_SUCCESS);
180 return len;
181 } else {
182 memcpy(lpFilename, g_processName, nSize - 1);
183 lpFilename[nSize - 1] = 0;
184 SetLastError(ERROR_INSUFFICIENT_BUFFER);
185 return nSize;
186 }
187 }
188
189 return pfnGetModuleFileNameA(hModule, lpFilename, nSize);
190}
191
192static DWORD WINAPI
193MyGetModuleFileNameW(HMODULE hModule, LPWSTR lpFilename, DWORD nSize)

Callers

nothing calls this directly

Calls 1

GetModuleFromAddressFunction · 0.70

Tested by

no test coverage detected