RtnInitializeCriticalLock

RtnInitializeCriticalLock initializes a CriticalLock data structure.

Syntax

void RtnInitializeCriticalLock(
    CriticalLock *pLock
);

Parameters

pLock

Pointer to a critical lock data structure

Return Value

None.

Remarks

CriticalLock data structures must be initialized once before RtnEnterCriticalLock and RtnLeaveCriticalLock can be used. Normally, all CriticalLock structures are initialized in RtndConfigure.

Since the individual RT-TCP/IP NIC Drivers operate as RTDLLs, the process context at any given time is not determined. Because of this, normal synchronization mechanisms such as critical sections or semaphores are difficult to use. The CriticalLock structure is guaranteed to work across all process and thread boundaries and so can be used to synchronize hardware access within RT-TCP/IP NIC Drivers without having to deal with process local handles (such as those used by RTX critical sections and semaphores).

Requirements

Minimum Supported Version RTX64 2013
Header rtnapi.h
Library RtTcpip.lib