-1

I am running Windows 7 Ultimate with SP1. I downloaded the WinDivert-1.0.5-MSVC package and ran the passthru.exe file with command "E:\lib\WinDivert-1.0.5-MSVC\x86>passthru.exe true 1". Then it gave me the error: "warning: failed to reinject packet (1237)". And the network got broken, too. Can anybody tell me why? Thx.

E:\lib\WinDivert-1.0.5-MSVC\x86>passthru.exe "true" 1
warning: failed to reinject packet (1237)
warning: failed to reinject packet (1237)
warning: failed to reinject packet (1237)
warning: failed to reinject packet (1237)
warning: failed to reinject packet (1237)
warning: failed to reinject packet (1237)
warning: failed to reinject packet (1237)
warning: failed to reinject packet (1237)
warning: failed to reinject packet (1237)
warning: failed to reinject packet (1237)
^C
E:\lib\WinDivert-1.0.5-MSVC\x86>
hsluoyz
  • 2,739
  • 5
  • 35
  • 59

1 Answers1

1

1237 = ERROR_RETRY according to Microsoft's documentation. The description of the error code is not very helpful, i.e. "The operation could not be completed. A retry should be performed." The underlying cause of this error message is not clear to me.

WinDivert essentially passes the packets to the underlying Windows Filtering Platform (WFP) packet injection functions, and returns the result to the user if an error occurs. Perhaps there is a WFP expert that can help?

This person also had the same problem, and it was apparently caused by some other software installed on the system. When the offending software was removed, the error message was also resolved.

Community
  • 1
  • 1
Basil
  • 1,001
  • 7
  • 9
  • Hi, basil. I have installed a clean Windows 7 Ultimate SP1 on a virtual machine. I copied the WinDivert-1.0.5-MSVC folder to the vm together with the msvcr100.dll. Then I ran the "passthru.exe true 1" command again and still returned the same 1237 error. I didn't install anything on this vm. The image I used is "en_windows_7_ultimate_with_sp1_x86_dvd_619077.iso", this is so strange, do you have any idea? – hsluoyz Sep 29 '13 at 16:22
  • I watched the WinDivert source code, and I found that it seems to be FwpsInjectNetworkSendAsync0 that returns 1237? I searched google about "FwpsInjectNetworkSendAsync 1237" but nothing found. Do you have any idea? – hsluoyz Sep 30 '13 at 12:33
  • I think what is happening is that FwpsInjectNetworkSendAsync() is returning an NT_STATUS that translates into a user-mode (1237) error. I am not exactly sure because I cannot replicate the problem, so it is impossible for me to test. It is also strange that the problem would occur with a fresh Win7 install, perhaps something to do with the underlying NIC driver? Maybe you can try using a virtualization environment (e.g. VirtualBox) where WinDivert is known to work. – Basil Oct 01 '13 at 04:58
  • 1
    For completeness: hsluoyz ultimately managed to fix the 1237 error problem by turning off his anti-virus software. It seems some security/anti-virus software is not compatible with WinDivert. – Basil Oct 12 '13 at 04:31