RtndTransmitFilterEx

RtndTransmitFilterEx is called when an outgoing Ethernet frame is received from the stack. This function will be called once per frame transmitted. The filter can elect to send the frame to the driver and return TRUE or drop the frame by returning FALSE. This function is similar to RtndTransmitFilter, only it supplies an additional parameter when the filter routine is called. This additional parameter is a pointer to the network interface in question.

NOTE: Since this routine is called at every transmit frame, this routine should complete its work quickly.

Syntax

BOOL RtndTransmitFilterEx(
   RTN_ETHERNET_HEADER *pEthernetHeader,
   VOID *pData,
   ULONG ulEthernetDataSize,
   VOID *ndp
);

Parameters

pEthernetHeader

Pointer to Ethernet header data that contains the value in EthernetHeader format.

pData

Pointer to a data location in theEthernet frame.

ulEthernetDataSize

Size of the Ethernet data in a frame, not including the size of the Ethernet header.

ndp

Pointer to an opaque network identifier, returned from a call to RtnGetDevicePtr().

Return Value

A return value of FALSE indicates the frame is being dropped. TRUE indicates that it is being sent to the driver.

Remarks

A filter driver must implement at least one of the following callbacks in each path:

At runtime, if the filter is enabled, the network driver will attempt first to call the -Ex function, if found. Otherwise, it will call the non -Ex function.

Please note that the packet is dropped if any of the above functions return FALSE.

Requirements

Minimum Supported Version RTX64 2013
Header RtnApi.h
Library RtTcpip.lib

See Also:

RtndTransmitFilter

RtndReceiveFilter

RtndReceiveFilterEx