VirtualAllocEx针对进程ID分配了一段内存, 内存中的页有三种状态, 空闲, 保留 和 提交.
在向其他程序的ListView控件发送LVM_GETITEMTEXT中直接把申请的内存(应该是一个单独的页)设为了COMMIT.
WINDOWS的每个进程拥有4G的VAS(Virtual Address Space), 2G是与操作系统和其他进程共享的, 2G是独占的.
通过: plvitem=(LVITEM*)VirtualAllocEx(hProcess, NULL, sizeof(LVITEM), MEM_COMMIT, PAGE_READWRITE);
SendMessage(hwnd, LVM_GETITEMTEXT, (WPARAM)iItem, (LPARAM)plvitem);
这两句代码来看, plvitem的地址在当前进程和hProcess的进程中都可用, 也就是说应该是分配在了那2G共享的VAS中