Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for
4/8/2010

This function is used by client dynamic-link libraries (DLLs) that monitor dropped packets.

Syntax

typedef VOID (*PNAT_LOG_DROPPED_PACKET)(
  DWORD 
SourceAddr,
  DWORD 
DestAddr, 
  USHORT 
SourcePort, 
  USHORT 
DestPort, 
  DWORD 
PacketSize,
  BYTE 
Protocol,
  DWORD 
Proto1, 
  DWORD 
Proto2,
  DWORD 
Proto3, 
  DWORD 
Proto4
);

Parameters

SourceAddr

[in] The source network address of the computer or networked device that initiated the packet that was dropped. The value is provided in TCP/IP network byte order format.

Security Note:
This information is taken from the packet data, and may have been faked or spoofed.
DestAddr

[in] The destination network address for the packet that was dropped. The value is provided in TCP/IP network byte order format.

SourcePort

[in] The source port number from which the packet originated. The value is provided in TCP/IP network byte order format.

DestPort

[in] The destination port number for which the packet was targeted. The value is provided in TCP/IP network byte order format.

PacketSize

[in] The size of the packet that was dropped.

Protocol

[in] Indicates the network protocol (TCP, UDP) for this connection. The protocol is indicated by one of the NAT_PROTOCOL * flags listed in IPNat.h.

Proto1

[in] Protocol-specific data.

Proto2

[in] Protocol-specific data.

Proto3

[in] Protocol-specific data.

Proto4

[in] Protocol-specific data.

Note:
The values for the protocol-specific data depend on the specific protocol in use. The following table shows the corresponding values for the TCP and ICMP protocols. These values are not used for UDP.

TCP ICMP

Proto1 = SequenceNumber

Proto1 = ICMP Type value (such as ICMPv6_ROUTER_SOLICIT and ICMPv6_ROUTER_ADVERT, as defined in ICMP6.h).

Proto2 = AckNumber

Proto2 = ICMP Code value (such as ICMPv6_ADDRESS_UNREACHABLE and ICMPv6_PORT_UNREACHABLE, as defined in ICMP6.h).

Proto3 = WindowSize

Proto3 Not used.

Proto4 = ProtocolHeader

Proto4 Not used.

Return Value

None.

Remarks

This function is on the critical path for network address translation (NAT), and therefore must return quickly to prevent degradation of performance.

Requirements

Header natedit.h
Library coredll.dll
Windows Embedded CE Windows CE .NET 4.1 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also