RtnFrameTransmitInterface

RtnFrameTransmitInterface is used by a filter driver or an application to transmit an Ethernet frame for the device pointed by ndp.

Syntax

BOOL RtnFrameTransmitInterface(
    PVOID ndp,
    PVOID pEthernetFrame,
    ULONG ulDataSize
);

Parameters

ndp

The network device pointer.

pEthernetFrame

A pointer to a formatted Ethernet frame that includes an Ethernet header.

ulDataSize

The size of Ethernet frame, in bytes.

Return Value

Returns TRUE if the function succeeds, returns FALSE if the function fails. Call WSAGetLastError for information on failure. The possible error codes are:

Error Code Meaning
ERROR_DEVICE_NO_RESOURCES A DMA buffer is not available.
ERROR_IO_DEVICE The Ethernet link is down.
WSAEMSGSIZE The frame is too large to fit in a driver or network buffer, or too small to send over Ethernet.
WSAEOPNOTSUPP Not supported on Loop-back interface.
WSAENETDOWN Invalid device pointer or the network interface is not configured by the TCP/IP Stack
WSAEINVAL The pointer argument is NULL.
WSASYSNOTREADY The TCP/IP Stack has not initialized.

Remarks

This function can be called in a filter driver or in an application that uses the RT-TCP/IP Stack.

The network device pointer might be obtained by calling RtnGetDevicePtr.

The Frame Ethernet header must contain the destination MAC address and Ethernet type.

The call does not have to fill in source MAC address if the driver is configured to insert it (default configuration).

Requirements

Minimum Supported Version RTX64 4.0
Header rtnapi.h
Library RtTcpip.lib

See Also:

RtnGetDevicePtr