# Share Memory

Posted by jo on December 12, 1997 at 05:26:15:

OS--> NT4.0 + NT Service 3 + vb6.0 专业版 + VBSP3

开启 Share Memory 时，为何 ShareName 多执行几次，
就无法 MappingAddress ，有时换个 ShareName 就可以，
但是有时候就一直无法开启，CreateFileMapping 很正常，
但是就是 MappingAddress 不到，不知我的程式是否有 Bug,
麻烦您看一下，谢谢!!

程式码如下：
MappingHandle = OpenFileMapping(FILE_MAP_WRITE Or FILE_MAP_READ, _
False, ShareName)

If (MappingHandle = 0) Then
MappingHandle = CreateFileMapping(MEM_HANDLE, Security, _
FILE_MAP_WRITE, 0, FaxBufLen, ShareName)
End If

If (MappingHandle != 0) Then
MappingAddress = MapViewOfFile(MappingHandle, FILE_MAP_READ Or _
FILE_MAP_WRITE, 0, 0, 0)
/* 程式无法 开启 MappingAddress
也就是说 MappingAddress 一直等于 0
我将 不等于 符号设为 != 因为不等于符号 无法显示
*/

If (MappingAddress != 0) Then
'抓 Memory 资料
CopyMemory ByVal SSDATA, ByVal MappingAddress, Len(SSDATA)

'将资料显示
Print SSDATA

End If
End If

Follow Ups:

- 为什么要这么做? 小吴 17:17:08 12/18/97 (1)
  - Re: 为什么要这么做? jo 04:32:37 12/22/97 (0)