Packet Sniffer SDK DLL Edition

HNAdapter :: Methods :: AdpAsyncSend

 Previous Next

Sends a packet asynchronously.

Syntax:

DWORD __stdcall AdpAsyncSend(HANDLE hAdp, LPVOID pPacket, DWORD PacketSize, DWORD Count, DWORD_PTR Key);

Parameters:

hAdp

[in] HNAdapter object handle.

pPacket

[in] A pointer to the packet.

PacketSize

[in] The packet size.

Count

[in] The number of times this packet must be sent.

Key

[in] A user-defined parameter.

Return values:

HNERR_OKThe packet has been sent successfully.
HNERR_ADAPTER_NOT_OPENEDThe adapter has not been opened, see the AdpOpenAdapter function.
HNERR_COUNT_ERRThe Count parameter value must be greater than 0.
HNERR_SIZE_ERRThe PacketSize parameter value is greater than the maximum size, see the AdpCfgGetMaxPacketSize.
HNERR_ADDR_ERRpPacket has the wrong value (a memory reading error).
HNERR_ADAPTER_REQ_ERRAn internal driver request error.
HNERR_INVALID_HANDLEhAdp parameter is not the HNAdapter object handle.

Description:

After the network adapter has been opened successfully by AdpOpenAdapter, you can send a raw packet directly, without using the OS functions. This packet will be sent asynchronously. Use OnAdpAsyncSend to assure this packet has been sent successfully.

This function cannot work with devices recognized as atWAN. See HNNetAdapterType.
See also:Packets processing diagram, HNAdapter, HNNetAdapterType, AdpOpenAdapter, AdpCfgGetMaxPacketSize, AdpSyncSend, OnAdpAsyncSend