[Windows核心编程]内存映射文件

##限制应用程序启动个数

-----

* 使用以下代码可以注册一个在同一个应用程序多个实例间共享的变量。
 #pragma data_seg("Shared")

 volatile LONG g_lApplicationInstance = 0;

 #pragma data_seg()

 //告诉编译器生成一个名为Shared的Section

 #pragma comment(linker,"/Section:Shared,RWS");
* `SendMessage`和`PostMessage`使用`HWND_BROADCAST`参数可向所有的`TOP_MOST`窗口发送消息。

-----

##创建文件映射步骤

-----

1. 调用`CreateFile`函数创建文件内核对象。

2. 调用`CreateFileMapping`函数创建文件映射内核对象。`CreateFileMapping`函数调用失败返回的错误值是`NULL`。

3. 调用`MapViewOfFile`函数将文件的数据映射到进程的地址空间。

4. 调用`UnmapViewOfFile`函数从进程的地址空间撤销对文件数据的映射。

5. 关闭文件映射内核对象和文件内核对象。

-----

##Tips

-----

* 调用`CreateFileMapping`的时候,第一个参数传递`INVALID_HANDLE_VALUE`可直接在`系统Page(页交换文件)`中创建映射文件。

posted @ 2013-11-07 10:19  风消云散  阅读(166)  评论(0)    收藏  举报