RtndSetInterruptModeration

RtndSetInterruptModeration requests the interface to change the value of the interval, in nanoseconds, for interrupt moderation. If the interrupt type is MSI-X, the NL2 will supply the message ID of the MSI-X message to throttle. Otherwise, the NL2 will set the MessageId parameter to zero (0).

Syntax

Copy
BOOL RtndSetInterruptModeration(
  [in]    ULONG_PTR RtndInterfaceId,
  [in]    ULONG MessageId,
  [in]    ULONG IntervalNs
);

Parameters

[in] RtndInterfaceId

The number or pointer used to identify the interface. This value is returned by RtndManageInterface.

[in] MessageId

The message ID of the MSI-X message to throttle if the interrupt type is MSI-X. If the interrupt type is not MSI-X, the value is set to zero (0) by the NL2.

[in] IntervalNs

The new value of the interval, in nanoseconds.

Return Value

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

Common error codes:

Error code Meaning

ERROR_IO_DEVICE

An unexpected error occurred while trying to access the device.

Note: Custom drivers may return other error codes not listed above.

Remarks

The NL2 always calls this function from the main thread of the NL2 process.

Note: The NL2 will never provide a value of IntervalNs which exceeds the limit reported by the driver in the RTND_FEATURE_INTERRUPT structure.

Characteristics

Real-time requirements

Deterministic behavior

Not required

Local memory allocation/deallocation restrictions

Process

External MSpace

Internal MSpace

System

Not allowed

Not allowed

Process

Not allowed

Not allowed

Contiguous memory allocation/deallocation restrictions

Contiguous memory

Not allowed

Requirements

Minimum supported version Header

eRTOS 1.0 SDK

Rtnd.h

See Also: