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
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: