1

我的代码是这样的:

#include <Windows.h>

int main () {
    TCHAR path[MAX_PATH] = {0};
    GetModuleFileName(0, path, MAX_PATH);

    SHFILEINFO sfi;
    ZeroMemory(&sfi, sizeof(SHFILEINFO));
    CoInitialize(NULL);
    SHGetFileInfo(path, 0, &sfi, sizeof(SHFILEINFO), SHGFI_ICON | SHGFI_LARGEICON);

    return 0;
}

当我使用 gflags 设置页面堆标志时,如下所示:

gflags.exe -p /enable FileLock.exe /unaligned

应用程序收到以下异常:FileLock.exe 0xC0000005 中 0x037b1a32 处的未处理异常:访问冲突读取位置 0x03876ff4。

但是,如果我使用这样的命令禁用页面堆:

gflags.exe -p /disable FileLock.exe 一切都会好的。

PS:我的操作系统是 Windows XP 32 位。和 Windows Vista 64 位得到同样的例外。

4

0 回答 0