特定のWindows 7 64ビットマシンでは、ntdll.dllとkernel32.dllからいくつかのシステム関数を解決できません:GlobalMemoryStatusEx、GetProcessMemoryInfo、NtQuerySystemInformation。それは任意のWindowsのバージョンを実行している他のPCの何千もの魔法のように動作している間ntdllとkernel32からいくつかの関数を解決できない
typedef void (WINAPI *PFN_GLOBAL_MEMORY_STATUS_EX) (MEMORYSTATUSEX *lpBuffer);
PFN_GLOBAL_MEMORY_STATUS_EX pfnGlobalMemoryStatusEx =
(PFN_GLOBAL_MEMORY_STATUS_EX)QLibrary::resolve("Kernel32.dll","GlobalMemoryStatusEx");
if(!pfnGlobalMemoryStatusEx)
qWarning() << "GlobalMemoryStatusEx failed -" << ::GetLastError();
上記のコードは、エラー127 = ERROR_PROC_NOT_FOUNDを返します。
私は実際にこれらの機能が実際にはが不足していると疑っています。です。世界で何種類のものがブロックのものでしたか?
途中でQt/MinGWアプリです。
あなたは私たちに[mcve]を提供できますか? –
明らかにこの特定のマシンで何かが間違っています。不可能な一般的な答えを得る。この特定のマシンでのみデバッグ(またはテスト)する必要があります。もちろん、デバッグの最善の方法です。不可能な場合は 'GetProcAddress'または' LdrGetProcedureAddress'を試してみるか、ビューの結果を直接解析してPEをエクスポートしてください。またはこの機械を忘れる。何千ものPCのうちの1台で常に何かが間違っていることがあります – RbMm