我已經寫了世界糧食計劃署(Windows過濾平臺)我的C#包裝,我使用WinDivert 1.0.5, 這個導入語法WinDivert 1.0.5 DivertRecv()方法獲取最後一個錯誤998
[DllImportAttribute("WinDivert.dll", EntryPoint = "DivertRecv",SetLastError = true, CharSet = CharSet.Unicode, ExactSpelling = true, CallingConvention = CallingConvention.Cdecl)]
[return: MarshalAsAttribute(UnmanagedType.Bool)]
public static extern bool DivertRecv([InAttribute()] System.IntPtr handle,
[OutAttribute()] System.IntPtr pPacket,
[InAttribute()] uint packetLen,
[ OutAttribute()] System.IntPtr pAddr,
[OutAttribute()] System.IntPtr readLen);
這函數調用的語法
if(DivertRecv(handle, Ppacket, (uint)(8 * packet.Length-1),
Paddr, Ppacket_len) == false)
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("warning: failed to read packet {0} .", Marshal.GetLastWin32Error());
Console.ResetColor();
Console.WriteLine(" Press any key to Exit ...");
Console.ReadKey();
Environment.Exit(1);
}
但函數返回false與每一個電話,和GetLastWin32Error()得到錯誤代碼998。 PLZ幫助我。
你可以看看[這個問題](http://stackoverflow.com/questions/23296106/windivert-in-c-sharp)並幫助我。我想我可能會遇到與你解決的問題相同的問題。 – JohnTube
@SecurityCrazy如果你爲windivert分享了你的C#包裝,它會變得非常酷。我正在努力拼湊一個。 ;) – 2014-10-08 10:26:59