为什么 GetProcAddress 不能与 OutputDebugString 函数一起使用
Why does GetProcAddress not work with OutputDebugString function
我一直在尝试将 GetProcAddress
与 kernel32.dll 中的几个函数一起使用。它工作正常,除了 "OutputDebugString" 函数。
我的代码:
typedef void(WINAPI *LPGETNUMBER)(LPCTSTR);
int main() {
const LPGETNUMBER pAddr = (LPGETNUMBER)GetProcAddress(GetModuleHandle((LPCSTR)("kernel32.dll")), "OutputDebugString");
if (NULL == pAddr) {
int32_t nLastErrorCode = GetLastError();
}
}
暂无该功能。导出名为 OutputDebugStringA
和 OutputDebugStringW
.
https://msdn.microsoft.com/en-us/library/windows/desktop/aa363362
OutputDebugString
是一个扩展为 OutputDebugStringA
或 OutputDebugStringW
的宏,具体取决于您是使用 ANSI 还是 Unicode 构建。所以你需要选择其中之一(最好,但不一定,取决于你的构建模式)。
我一直在尝试将 GetProcAddress
与 kernel32.dll 中的几个函数一起使用。它工作正常,除了 "OutputDebugString" 函数。
我的代码:
typedef void(WINAPI *LPGETNUMBER)(LPCTSTR);
int main() {
const LPGETNUMBER pAddr = (LPGETNUMBER)GetProcAddress(GetModuleHandle((LPCSTR)("kernel32.dll")), "OutputDebugString");
if (NULL == pAddr) {
int32_t nLastErrorCode = GetLastError();
}
}
暂无该功能。导出名为 OutputDebugStringA
和 OutputDebugStringW
.
https://msdn.microsoft.com/en-us/library/windows/desktop/aa363362
OutputDebugString
是一个扩展为 OutputDebugStringA
或 OutputDebugStringW
的宏,具体取决于您是使用 ANSI 还是 Unicode 构建。所以你需要选择其中之一(最好,但不一定,取决于你的构建模式)。