COM+中的内存共享可能可以,我以前主要在服务器中创建一个共享内存,然后在客户机中取此内存信息.你可以看看COM+方面的书..在VB中,你要引用COM+ Servercis TYpe Library
Public Function Create( _ Optional ByVal sMapName As String = "", _ Optional ByVal lSizeHigh As Long = -1, _ Optional ByVal lSizeLow As Long = -1) As Boolean
Dim sa As SECURITY_ATTRIBUTES sa.nLength = Len(sa) sa.lpSecurityDescriptor = 0 sa.bInheritHandle = True
If (Len(sMapName) > 0) Then m_MapName = sMapName If (lSizeHigh > 0) Then m_SizeHigh = lSizeHigh If (lSizeLow > 0) Then m_SizeLow = lSizeLow
hFileMap = CreateFileMapping(INVALID_HANDLE_VALUE, sa, PAGE_READWRITE, m_SizeHigh, m_SizeLow, m_MapName)
m_lpView = MapViewOfFile(hFileMap, FILE_MAP_READ Or FILE_MAP_WRITE, 0, 0, 0)
End FunctionPublic Sub Destory()
If m_lpView <> 0 Then UnmapViewOfFile m_lpView 'MsgBox frmTes1.DecodeAPIErrors(Err.LastDllError) CloseHandle hFileMap m_lpView = 0 End If
Public Function Create( _ Optional ByVal sMapName As String = "", _ Optional ByVal lSizeHigh As Long = -1, _ Optional ByVal lSizeLow As Long = -1) As Boolean
Dim sa As SECURITY_ATTRIBUTES sa.nLength = Len(sa) sa.lpSecurityDescriptor = 0 sa.bInheritHandle = True
If (Len(sMapName) > 0) Then m_MapName = sMapName If (lSizeHigh > 0) Then m_SizeHigh = lSizeHigh If (lSizeLow > 0) Then m_SizeLow = lSizeLow
hFileMap = CreateFileMapping(INVALID_HANDLE_VALUE, sa, PAGE_READWRITE, m_SizeHigh, m_SizeLow, m_MapName)
m_lpView = MapViewOfFile(hFileMap, FILE_MAP_READ Or FILE_MAP_WRITE, 0, 0, 0)
End FunctionPublic Sub Destory()
If m_lpView <> 0 Then UnmapViewOfFile m_lpView 'MsgBox frmTes1.DecodeAPIErrors(Err.LastDllError) CloseHandle hFileMap m_lpView = 0 End If
Createfilemap("filename",......),
Createfilemap(0xfffffff,......),
Public Function Create( _
Optional ByVal sMapName As String = "", _
Optional ByVal lSizeHigh As Long = -1, _
Optional ByVal lSizeLow As Long = -1) As Boolean
Dim sa As SECURITY_ATTRIBUTES
sa.nLength = Len(sa)
sa.lpSecurityDescriptor = 0
sa.bInheritHandle = True
If (Len(sMapName) > 0) Then m_MapName = sMapName
If (lSizeHigh > 0) Then m_SizeHigh = lSizeHigh
If (lSizeLow > 0) Then m_SizeLow = lSizeLow
hFileMap = CreateFileMapping(INVALID_HANDLE_VALUE, sa, PAGE_READWRITE, m_SizeHigh, m_SizeLow, m_MapName)
m_lpView = MapViewOfFile(hFileMap, FILE_MAP_READ Or FILE_MAP_WRITE, 0, 0, 0)
End FunctionPublic Sub Destory()
If m_lpView <> 0 Then
UnmapViewOfFile m_lpView
'MsgBox frmTes1.DecodeAPIErrors(Err.LastDllError)
CloseHandle hFileMap
m_lpView = 0
End If
End Sub'//WriteData
CopyMemory m_lpView + lOffset, ipSrc, lBytes'//ReadData
CopyMemory ipDest, m_lpView + lOffset, lBytes
Public Function Create( _
Optional ByVal sMapName As String = "", _
Optional ByVal lSizeHigh As Long = -1, _
Optional ByVal lSizeLow As Long = -1) As Boolean
Dim sa As SECURITY_ATTRIBUTES
sa.nLength = Len(sa)
sa.lpSecurityDescriptor = 0
sa.bInheritHandle = True
If (Len(sMapName) > 0) Then m_MapName = sMapName
If (lSizeHigh > 0) Then m_SizeHigh = lSizeHigh
If (lSizeLow > 0) Then m_SizeLow = lSizeLow
hFileMap = CreateFileMapping(INVALID_HANDLE_VALUE, sa, PAGE_READWRITE, m_SizeHigh, m_SizeLow, m_MapName)
m_lpView = MapViewOfFile(hFileMap, FILE_MAP_READ Or FILE_MAP_WRITE, 0, 0, 0)
End FunctionPublic Sub Destory()
If m_lpView <> 0 Then
UnmapViewOfFile m_lpView
'MsgBox frmTes1.DecodeAPIErrors(Err.LastDllError)
CloseHandle hFileMap
m_lpView = 0
End If
End Sub'//WriteData
CopyMemory m_lpView + lOffset, ipSrc, lBytes'//ReadData
CopyMemory ipDest, m_lpView + lOffset, lBytes
用这个api函数就可以转换内存文件,然后操作操作