RtndfltReceiveFrames

RtndfltReceiveFrames inspects a batch of NL2 Buffers (represented by a linked list of RTND Buffer Headers) corresponding to a burst of received frames on the specified Rx Queue and determines for each whether it will be dropped or passed to the application.

Syntax

Copy
VOID RtndfltReceiveFrames(
  [in]    ULONG_PTR RtndfltRxQueueId,
  [in]    RTND_BUFFER_HEADER *pBufferHeader
);

Parameters

[in] RtndfltRxQueueId

The number or pointer used to identify the Rx Queue. This value is returned by RtndfltManageRxQueue.

[in] pBufferHeader

The address of the first RTND Buffer Header of the linked list.

Return Value

If the function succeeds, it returns TRUE. If the function fails, it returns FALSE. To get extended error information, call GetLastError.

Remarks

The NL2 always calls this function from the same Rx Queue management thread of the NL2 process.

This function should inspect the content of each NL2 Buffer of the provided list and populate the RTND_BUFFER_HEADER.Filtered field of the RTND Buffer Header for each. TRUE means that the frame will be dropped, FALSE means that the frame will be passed to the application.

Note: The NL2 always sets the RTND_BUFFER_HEADER.Filtered field to FALSE before calling RtndfltReceiveFrames.

In general, a filter driver will do more than inspect the content of the incoming frames. It will also process some of them (generally those that it marks as filtered) directly within the NL2 Process.

Characteristics

Real-time requirements

Deterministic behavior

Recommended

Shutdown-safe behavior

Required

Local memory allocation/deallocation restrictions

Process

External MSpace

Internal MSpace

System

Not allowed

Not allowed

RTSS process

Not allowed

Not allowed
Windows contiguous memory allocation/deallocation restrictions

Contiguous memory

Not allowed

Requirements

Minimum supported version Header

wRTOS 1.0 SDK

Rtnd.h

See Also: