procedure TestMap(FileName: string);<br>const<br> sMapName = 'beta''s test';<br>var<br> hFile, hMap: THandle;<br> FilePtr: Pointer;<br> lpROB: TOFStruct;<br>begin<br> hFile := OpenFile(PChar(FileName), lpROB, OF_READ);<br> hMap := CreateFileMapping(hFile, nil, PAGE_READONLY, 0, BuffSize, sMapName);<br> FilePtr := MapViewOfFile(hMap, FILE_MAP_READ, 0, 0, BuffSize);<br> // 现在 FilePtr 就是指向文件缓冲区的首地址,直接对这个指针操作就可以了<br><br> // 记得释放<br> UnmapViewOfFile(FilePtr);<br> CloseHandle(hMap);<br> CloseHandle(hFile);<br>end;<br><br><br><br><br>. OpenFile函数使用说明 <br>函数原型:function OpenFile(const lpFileName: LPCSTR; var lpReOpenBuff: TOFStruct; <br>uStyle: UINT): HFILE; stdcall; <br>函数功能:以不同方式打开文件的操作(为兼容16位Windows程序保留的函数)。建议 <br>Windows下使用CreateFile函数。 <br>参数说明:lpFileName: 要打开文件的名称 <br>lpReOpenBuff: 变量指针,用于存储文件被首次打开时接收信息。 <br>UStyle: 打开文件的常量类型。 <br>常量名 <br>意义 <br><br>Of_Create <br>创建文件 <br><br>Of_Delete <br>删除指定文件 <br><br>Of_Exist <br>打开文件以验证其存在否?存在,返回一无效句柄;否则,返回负数 <br><br>Of_Parse <br>填充lpReOpenBuff内容,但不进行任何操作 <br><br>Of_Prompt <br>如存在不存在,则显示一有重试和取消按钮的消息框 <br><br>Of_Read <br>只读方式打开 <br><br>Of_ReadWrite <br>读写方式打开 <br><br>Of_ReOpen <br>打开lpReOpenBuff内指定的文件,而不依据lpFileName <br><br>Of_Search <br>强迫Windows查找文件---即使指定了文件路径 <br><br>Of_Share_Compat <br>文件可由多个程序多次打开 <br><br>Of_Share_Deny_None <br>共享打开 <br><br>Of_Share_Deny_Read <br>禁止其它程序读该文件 <br><br>Of_Share_Deny_Write <br>禁止其它程序写该文件 <br><br>Of_Share_Exclusive <br>独占方式打开文件,其它程序不得再打开该文件 <br><br>Of_Write <br>只写方式打开 <br><br> <br>返回值:成功,返回值为文件句柄(但可能无效,如:Of_Exist);出错,返回HFile_Error。