请教文件映射的问题,谢谢(20分)

  • 主题发起人 主题发起人 kittycat
  • 开始时间 开始时间
K

kittycat

Unregistered / Unconfirmed
GUEST, unregistred user!
type
Tmapinfo=record
info1:string[255];
info2:string[255];
end;
var

hMap: THandle;
pInfo: Pointer;
begin
hMap := CreateFileMapping($FFFFFFFF, nil, PAGE_READWRITE or SEC_COMMIT,
0, MapSize, 'abc');
pinfo:=mapviewoffile(hMap,FILE_MAP_ALL_ACCESS,0,0,MapSize);

end;

1.请问如何在映射文件的最后插入一个Tmapinfo类型的数据(如何判断文件已经到了末尾?)
2.如何在映射文件的任意位置插入一个Tmapinfo类型的数据
3.怎样知道映射文件的长度,(相当于对文件操作时的filesize函数)
谢谢!
 
如何判断指针已经到了文件的末尾,谢谢
 
没用过这种数据通信方式。
不过看msdn了,其实就是把文件放到内存中使用,
其他的操作应该和内存操作没什么区别吧。
说错了别笑我。
=========
使用VirtualQuery
找到内存的大小,然后移动指针就可以了吧。
writefile可以向这个内存写入东西,不过需要使用VirtualAlloc/SetEndOfFile 分配内存。
lz看看有用没
 
OpenFileMapping 打开一个现成的文件映射对象,如何知道打开文件的大小?或者依次取出文件中的“单元”,谢谢
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
579
import
I
后退
顶部