Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
vb.net中Marshal.ptrto结构中的访问冲突异常 我有下面的代码片段,它从dll中定义的C API获取指针。使用编组,我试图获得结构数组,这是我的要求。_Vb.net_Marshalling_Windows 7 X64_Access Violation_Intptr - Fatal编程技术网

vb.net中Marshal.ptrto结构中的访问冲突异常 我有下面的代码片段,它从dll中定义的C API获取指针。使用编组,我试图获得结构数组,这是我的要求。

vb.net中Marshal.ptrto结构中的访问冲突异常 我有下面的代码片段,它从dll中定义的C API获取指针。使用编组,我试图获得结构数组,这是我的要求。,vb.net,marshalling,windows-7-x64,access-violation,intptr,Vb.net,Marshalling,Windows 7 X64,Access Violation,Intptr,当使用x86选项构建dll和以上代码时,相同的代码段也可以工作。 但当使用x64选项运行时,我在, 元帅PTRTO结构(当前,马纳雷(j)) 注意:使用VS2010、framework 4.0、Windows 7 64位操作系统时,C dll是否仅编译为32位dll?嗨,在x64位配置中,它指的是使用x64位选项编译的C dll。检查此x64 C dll的正确性,并将所需的值正确返回到VB.net界面。此问题的任何解决方案都是非常值得注意的,因为这是一个紧急问题。各位,ptrtoStructur

当使用x86选项构建dll和以上代码时,相同的代码段也可以工作。 但当使用x64选项运行时,我在, 元帅PTRTO结构(当前,马纳雷(j))


注意:使用VS2010、framework 4.0、Windows 7 64位操作系统时,C dll是否仅编译为32位dll?嗨,在x64位配置中,它指的是使用x64位选项编译的C dll。检查此x64 C dll的正确性,并将所需的值正确返回到VB.net界面。此问题的任何解决方案都是非常值得注意的,因为这是一个紧急问题。各位,ptrtoStructure是否有本机或Sys.IntPtr的替代方案?
<StructLayout(LayoutKind.Sequential, CharSet:=CharSet.Ansi)> _
Public Class vb_menu_dotnet
Public level As Short
Public menu_id As String
End Class
Dim current As IntPtr
Dim outArray As IntPtr
Dim manArray(100) As vb_menu_dotnet
vb_dotnet_get_menu_hierarchy(p_menu_handle, p_apl_id, outArray) //C API call
current = outArray
Dim j As Integer
For j = 1 To 100
manArray(j) = New vb_menu_dotnet()
Marshal.PtrToStructure(current, manArray(j)) //Access Violation Exception
vb_dotnet_get_menu_hierarchy(tcodss_handle_t p_menu_handle,char* p_apl_id,vb_menu_dotnet** p_menu_array)
Structure defination :
typedef struct {
short level;
char* menu_id;
} vb_menu_dotnet;