我需要調用從C包裹函數++ DLL與以下聲明:中調用封裝的C++ DLL方法從C#:積分變量的傳遞地址獲得輸出
[DllImport(@dllPath, EntryPoint = "Calling_fooBar")]
private static extern int Calling_fooBar(uint* a,
uint* b,
uint* c,
uint* d,
//etc);
在這種使用方式:
private void getData()
{
uint A, B, C, D; //etc
Calling_fooBar(&A, &B, &C, &D);
// ...
}
這樣做,A,B,C,D都仍然是0.我很確定DLL中的外部方法正常工作,所以他們應該有非零值。
所以我猜我是通過錯誤的地址...或者什麼的。
希望這不是一個愚蠢的問題。如果需要,我可以澄清任何東西
什麼是C++聲明? – SLaks 2010-11-05 21:01:15
該DLL幾乎是一個黑匣子。用它來自動化另一家公司設計的測試軟件,所以我不能改變它。 – hLiu 2010-11-05 21:07:55
但是頭文件中的聲明是什麼? – SLaks 2010-11-05 21:10:06