内存映射/文件映射形式下的进程交通讯不分32位还是64位,是因为本质上使用的是系统物理页面(系统位数)。
主要是三个函数:CreateFileMapping;MapViewOfFile(映射内存),OpenFileMapping。
// FileSend.cpp : 定义控制台应用程序的入口点。
//
#include <stdio.h>
#include<Windows.h>
int main()
{
HANDLE MappingHandle = NULL;
PVOID BaseAddres = NULL;
MappingHandle=CreateFileMapping(INVALID_HANDLE_VALUE,NULL,PAGE_READWRITE,0,0X1000,L"HelloWorld");
if (MappingHandle == NULL)
{
return 0;
}
BaseAddres = MapViewOfFile(MappingHandle, FILE_MAP_ALL_ACCESS,0, 0, 0);
__try
{
memcpy(BaseAddres, "HelloClient", strlen("HelloClient") + 1);
printf("%s\r\n", BaseAddres);
printf("Input AnyKey To Continue\r\n");
getchar();
printf("%s\r\n", BaseAddres);
}