我遇到了一個問題,我正在使用C DLL進入我的VB.net代碼。我有.H文件,它顯示了C語言中這個DLL的實現。 該.H文件包含許多包含某些結構類型變量的結構和聯合。有一個主結構包含指向這些結構和聯合的指針,最後主結構的地址被傳遞給dll函數。啓用在VB.net中調用C DLL代碼
我可以弄清楚如何在vb.net中編組結構和聯合以及如何傳遞包含其他結構和聯合的地址的結構的地址。
請我解決這個問題。任何幫助,將不勝感激。
感謝,瑜珈
我遇到了一個問題,我正在使用C DLL進入我的VB.net代碼。我有.H文件,它顯示了C語言中這個DLL的實現。 該.H文件包含許多包含某些結構類型變量的結構和聯合。有一個主結構包含指向這些結構和聯合的指針,最後主結構的地址被傳遞給dll函數。啓用在VB.net中調用C DLL代碼
我可以弄清楚如何在vb.net中編組結構和聯合以及如何傳遞包含其他結構和聯合的地址的結構的地址。
請我解決這個問題。任何幫助,將不勝感激。
感謝,瑜珈
有一個免費的工具CLRInsideOut將您的C結構定義轉換爲VB.NET PInvoke代碼。閱讀更多on MSDN here。免責聲明:JaredPar真的應該得到任何代表這個答案,因爲他wrote some of the tool。
既然你不提供有關您的問題的細節,我只能通過引導你的文檔幫助你。你可以閱讀更多關於平臺調用以及如何編組結構和聯合MSDN
感謝Martin給您回覆。我讀了很多關於網絡編組的知識。我做了結構,但問題是,當我調用該dll函數時,它會將一個結構值設置爲Null,但其他值包含的值與我在調用函數之前傳入的值相同。 – Yogi 2009-07-22 17:15:34