RtNalEnableReceivePolling

RtNalEnableReceivePolling enables polling to receive Ethernet frames at a specified interval. The polling thread runs in the calling application’s context.

Syntax

BOOL RtNalEnableReceivePolling(
	RTNAL_QUEUE_HANDLE queueHandle,
	LARGE_INTEGER interval,
	ULONG priority,
       KAFFINITY processorEnableMask
);

Parameters

queueHandle

The receive queue handle returned by RtNalAcquireQueue.

interval

The polling interval in units of 100ns.

priority

The priority of the NAL polling thread.

ProcessorEnableMask

The KAFFINITY mask that represents the set of RTSS processors on which the polling thread can run. See Specifying a Processor Affinity Bitmask for more details

Return Value

Returns TRUE if the function succeeds. Otherwise it returns FALSE. Call GetLastError to obtain an error code. The possible error codes are listed below:

Error Code Meaning
ERROR_ALREADY_EXISTS Another instance of the receive polling timer is already running.
ERROR_INVALID_HANDLE Invalid queue handle.
ERROR_INVALID_PARAMETER queueHandle is a NULL pointer, the priority is not between 0 and 127, or interval is 0.
ERROR_NOT_READY RtNalInit has not completed successfully.
ERROR_NOT_SUPPORTED

Indicates one of the following conditions:

  • The queue is not a receive queue.
  • The driver does not support RtndReceiveWithCallback.
  • The queue has receive notifications enabled.

Remarks

For a list of supported functions for specific drivers, see Matrix of Supported Real-Time NAL Functions by NIC Driver.

The RtNalE1000 driver does not support receive polling.

The polling thread runs in the calling application’s context.

An application gains access to packet data in the receive packet callback of RTN_FN_PKT_CALLBACK type passed to RtNalConfigureQueue in the RTNAL_QUEUE_CAPABILITIES structure. The polling interval should be multiples of the HAL timer period.

The driver must support RtndReceiveWithCallback. The receive queue must be initialized without a receive notifications and it must include a receive packet callback.

Requirements

Minimum Supported Version RTX64 4.0
Header rtnapi.h, RtNalApi.h
Library RtNal.lib

See Also: