207{
217
219
221 AddrFile, ConnInfo, BufferData,
DataSize));
223
224 switch( RemoteAddressTa->
Address[0].AddressType ) {
228 RemoteAddressTa->
Address[0].Address[0].in_addr;
229 RemotePort = RemoteAddressTa->
Address[0].Address[0].sin_port;
230 break;
231
232 default:
235 }
236
239 {
240
241
242
243
247 }
248
250 }
251 else
252 {
256 }
257 }
258
262 RemotePort,
265 BufferData,
267
269 {
272 }
273
274
278 {
280 if (LoopNCE !=
NULL &&
282 &LoopPacket,
284 RemotePort,
287 BufferData,
289 {
291 }
292 }
293
295
297
300
303
305
307}
BOOLEAN AddrIsUnspecified(PIP_ADDRESS Address)
#define NT_SUCCESS(StatCode)
PNEIGHBOR_CACHE_ENTRY RouteGetRouteToDestination(PIP_ADDRESS Destination)
NTSTATUS BuildUDPPacket(PADDRESS_FILE AddrFile, PIP_PACKET Packet, PIP_ADDRESS RemoteAddress, USHORT RemotePort, PIP_ADDRESS LocalAddress, USHORT LocalPort, PCHAR DataBuffer, UINT DataLen)
static BOOLEAN UDPIsBroadcastAddress(_In_ PIP_ADDRESS Address)
Checks whether an address is the limited broadcast address or the directed broadcast address of a non...
_In_ NDIS_HANDLE _In_ PNDIS_PACKET Packet
PNEIGHBOR_CACHE_ENTRY NBLocateNeighbor(PIP_ADDRESS Address, PIP_INTERFACE Interface)
#define STATUS_NETWORK_UNREACHABLE
struct _TA_ADDRESS_IP::_AddrIp Address[1]
struct _TA_ADDRESS_IP * PTA_IP_ADDRESS
#define TDI_ADDRESS_TYPE_IP
#define UnlockObject(Object)
#define LockObject(Object)
NTSTATUS IPSendDatagram(PIP_PACKET IPPacket, PNEIGHBOR_CACHE_ENTRY NCE)
#define STATUS_INVALID_PARAMETER
#define STATUS_UNSUCCESSFUL
_Must_inspect_result_ _In_ ULONG _In_ PSOCKADDR LocalAddress
_Must_inspect_result_ _In_ ULONG _In_ PSOCKADDR _In_ PSOCKADDR RemoteAddress