您的位置:首页 > 编程语言 > VB

VB使用CopyMemory字符串处理

2010-01-29 13:53 513 查看
不能直接使用CopyMemoryStr,应该将字符串转为byte数组,然后使用CopyMemory

Property Get item() As String
If h = 0 Then ErrRaise ERROR_INVALID_DATA
'BugAssert p <> pNull
Dim c As Long, ptr0 As Long
Dim ab() As Byte
'取出BSTR的长度
CopyMemory c, ByVal p, 4
If c > 0 Then
ReDim ab(c - 1)
CopyMemory ByVal VarPtr(ab(0)), ByVal (p + 4), c
item = ab
End If
End Property

Property Let item(s As String)
If h = 0 Then ErrRaise ERROR_INVALID_DATA
'BugAssert p <> pNull
Dim c As Long
Dim ab() As Byte
c = LenB(s)
ab = s
' 重新将BSTR放回内存中
CopyMemory ByVal p, c, 4
CopyMemory ByVal (p + 4), ByVal VarPtr(ab(0)), c
End Property
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: