Rtnl2DestroyPhysicalRxQueueEvent

Rtnl2DestroyPhysicalRxQueueEvent destroys a Receive event previously created by Rtnl2CreatePhysicalRxQueueEvent, and disables the hardware interrupt associated with the Physical Receive Queue.

Syntax

Copy
BOOL Rtnl2DestroyPhysicalRxQueueEvent(
  [in]    RTNL2_HPHYSICAL_RX_QUEUE PhysicalRxQueue, 
  [in]    HANDLE Event
);

Parameters

[in] PhysicalRxQueue

A handle to the Physical Receive Queue obtained from Rtnl2AcquirePhysicalRxQueue.

[in] Event

The value of the event handle obtained from Rtnl2CreatePhysicalRxQueueEvent.

Return Value

If the function succeeds, it returns TRUE. If the function fails, it returns FALSE. Call GetLastError to obtain an error code.

Possible error codes:

Error code Meaning

ERROR_NOT_READY

The calling process has not called Rtnl2Init.

ERROR_INVALID_PARAMETER

One of the following conditions occurred:

  • The supplied Physical Receive Queue handle is invalid.
  • The Physical Receive Queue does not have a Receive event.
  • The supplied value of hEvent is not the one that the NL2 returned from Rtnl2CreatePhysicalRxQueueEvent.

RTNL2_ERROR_PHYSICAL_RX_QUEUE_IS_RELEASING

Another thread of the calling process is executing Rtnl2ReleasePhysicalRxQueue at the same time.

RTNL2_ERROR_SERIALIZED_COMMAND_TIMEOUT

The NL2 process didn’t reply within an acceptable delay.

RTNL2_ERROR_NO_MORE_COMMUNICATION

Unable to communicate with the NL2 process. This might be because the NL2 process is not running anymore, or because an application process thread was terminated during a previous call to an NL2 API function.

Remarks

After a successful call to this function, the event handle retrieved from Rtnl2CreatePhysicalRxQueueEvent is no longer valid and can't be used as a parameter of RtWaitForSingleObject or RtWaitForMultipleObjects.

Characteristics

Real-time

Deterministic

No

Local memory usage

Process

External MSpace usage

Internal MSpace usage

System

No

Yes. This function will free the memory that was allocated for the Event kernel object in Rtnl2CreatePhysicalRxQueueEvent.

NL2 process

No

No

Calling process

No

No

Contiguous memory usage

Usage

No

Requirements

Minimum supported version Header Library

eRTOS 1.0 SDK

Rtnl2Api.h

Rtnl2Api.lib

See Also: