VVB6.0的ReadProcessMemory到了VB.NET咋就用不了了?该如何处理

VVB6.0的ReadProcessMemory到了VB.NET咋就用不了了?
Public   Declare   Function   ReadProcessMemory   Lib   "kernel32 "   (ByVal   hProcess   As   Integer,   ByVal   lpBaseAddress   As   Integer,   ByVal   lpBuffer   As   Integer,   ByVal   nSize   As   Integer,   ByRef   lpNumberOfBytesWritten   As   Integer)   As   Integer

    hProcess   =   OpenProcess(PROCESS_ALL_ACCESS,   False,   pid)
        If   hProcess   Then
        Dim   chongfh   As   Long
        ReadProcessMemory(hProcess,   &HAEBC280,   chongfh,   4,   0&)  
        Label1.Text   =   CStr(h)
        CloseHandle   hProcess
        End   if
-------------------------------
在VB6.0上就能用的。。到了VB.NET怎么就用不了了啊。。。

------解决方案--------------------
ByVal lpBuffer As Integer ???


Public Declare Function ReadProcessMemory Lib "kernel32 " (ByVal hProcess As Integer, ByVal lpBaseAddress As Integer, lpBuffer() As Byte, ByVal nSize As Integer, ByRef lpNumberOfBytesWritten As Integer) As Integer

Dim lpBuffer() as Byte

ReDim lpBuffer(3)
Dim nSize = 4

ReadProcessMemory(hProcess, &HAEBC280, lpBuffer, nSize, 0&)

至于那个 Base Address 对不对,我就不知道了

------解决方案--------------------
其中有关指针的定义,好象不应该是Integer 而是Intptr