Matrix of Real-Time (RTAPI) Functions

Note: APIs that are not explicitly documented as supported are not guaranteed to work. You should thoroughly test any code that uses undocumented functions.

RTAPI function name

Notes

Deterministic?

RtAcquireFastSemaphore

 

Yes - can block if another thread holds the lock.

RtAllocateContiguousMemory

 

No

RtAllocateContiguousMemorySpecifyCache

 

No

RtAllocateLocalMemoryEx

 

Yes, but only when one real-time processor configured.

RtAtoi

The call is supported as both an RT call and as a Windows call (for example, RtAtoi and Atoi).

Yes - the elapsed time for the call is less than 5 microseconds.

RtAttachInterrupt

 

No

RtAttachShutdownHandler

 

No

RtCancelTimer

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtCloseHandle

 

No

RtCreateEvent

The IPC namespace is separate from the Windows namespace.

No

RtCreateMutex

The IPC namespace is separate from the Windows namespace.

No

RtCreateProcess

 

No

RtCreateSemaphore

The IPC namespace is separate from the Windows namespace.

No

RtCreateSharedMemory

 

No

RtCreateTimer

 

No

RtCreateTimerEx

 

No

RtDeleteProcThreadAttributeList

 

Yes

RtDeleteTimer

 

No

RtDisableInterrupts

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtEnableInterrupts

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtEnumProcesses

  No

RtEnumProcessesEx

  No
RtEnumProcessModules  

Yes - the elapsed time for the call is less than 5 microseconds.

RtEnumProxyProcesses   No
RtExpandMSpace   No

RtFreeContiguousMemory

 

No

RtFreeLocalMemory

 

Yes, but only if at least one processor is assigned to wRTOS.

RtGenerateEvent  

Yes - the elapsed time for the call is less than 5 microseconds.

RtGetBusDataByOffset

 

No

RtGetClockResolution

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtGetClockTime

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtGetClockTimerPeriod

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtGetCountFastSemaphore

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtGetCurrentProcessorNumber

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtGetDongles   No

RtGetExitCodeProcess

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtGetFlushTLBTickMod

 

Yes

RtGetHalTimerPeriodCounts

  Yes

RtGetLicenses

 

No

RtGetModuleBaseName

 

Yes

RtGetModuleFileNameEx

 

Yes

RtGetPhysicalAddress

 

No

RtGetProcessAffinityMask

The call is supported as both an RT call and as a Windows call (for example, RtAtoi and Atoi).

Yes - the elapsed time for the call is less than 5 microseconds.

RtGetProcessIdealProcessor

 

Yes

RtGetProcessMSpace   Yes
RtGetProcessorInfo   Yes - the elapsed time for the call is less than 5 microseconds.

RtGetProcessTimes

 

Yes

RtGetProxyThreadPriority (can only be called by Windows applications linked with wRTOS)

  No

RtGetRtssTimeAsFileTime

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtGetRuntimeVersionEx

 

Yes

RtGetSystemTimes

 

Yes

RtGetThreadPriority

The priority spectrum of wRTOS is 0 to 127, whereas the Windows range is {-15, -2, -1, 0, 1, 2, 15}.

The call is supported as both an RT call and as a Windows call (for example, RtAtoi and Atoi).

Yes - the elapsed time for the call is less than 5 microseconds.

RtGetThreadStack

 

No

RtGetThreadTimes

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtGetTimer

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtInitializeFastSemaphore

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtInitializeProcThreadAttributeList

 

Yes

RtIsAppRunnable

 

No

RtIsDebuggerPresent

  No

RtIsInRtss

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtMapMemory

 

No
RtMonitorControl  

Yes - the elapsed time for the call is less than 5 microseconds.

RtMonitorGetMaxEventsInSession

 

Yes

RtMonitorGetPreTriggerEventsToSave

 

Yes

RtMonitorSetCustomTriggers

 

Yes

RtMonitorSetEvents

 

Yes

RtMonitorSetMaxEventsInSession

 

Yes

RtMonitorSetPreTriggerEventsToSave

 

Yes

RtMonitorSetTriggers

 

Yes

RtOpenEvent

The IPC namespace is separate from the Windows namespace.

No

RtOpenMutex

The IPC namespace is separate from the Windows namespace.

No

RtOpenProcess

 

No

RtOpenSemaphore

The IPC namespace is separate from the Windows namespace.

No

RtOpenSharedMemory

 

No

RtOpenThread

  No

RtPrintf

The call is supported as both an RT call and as a Windows call (for example, RtAtoi and Atoi).

No

RtPulseEvent

The IPC namespace is separate from the Windows namespace.

Yes - the elapsed time for the call is less than 5 microseconds.

RtQueryPciMsiCapability

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtQueryPerformanceCounter

 

Yes

RtQueryPerformanceFrequency

 

Yes
RtQueryProcessMSpace   Yes, if DumpLevel is 0.
RtQuerySharedMemory   Yes

RtReadPortBufferUchar

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtReadPortBufferUlong

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtReadPortBufferUshort

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtReadPortUchar

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtReadPortUlong

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtReadPortUshort

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtReleaseAllFastSemaphore

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtReleaseFastSemaphore

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtReleaseInterrupt

 

No

RtReleaseMutex

The IPC namespace is separate from the Windows namespace.

Yes, unless the mutex has a higher priority thread waiting on it.

RtReleaseSemaphore

The IPC namespace is separate from the Windows namespace.

Yes, unless the semaphore has a higher priority thread waiting on it.

RtReleaseShutdownHandler

 

No

RtResetEvent

The IPC namespace is separate from the Windows namespace.

Yes - the elapsed time for the call is less than 5 microseconds.

RtResetWatchdog

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtSetFlushTLBTickMod

 

Yes

RtSetBusDataByOffset

 

No

RtSetClockTime

 

No

RtSetEvent

The IPC namespace is separate from the Windows namespace.

Yes, unless the event has a higher priority thread waiting on it.

RtSetHalTimerPeriodCounts

  Yes

RtSetProcessAffinityMask

The call is supported as both an RT call and as a Windows call (for example, RtAtoi and Atoi).

Yes

RtSetProxyThreadPriority (can only be called by Windows applications linked with wRTOS)

  No

RtSetRtssTimeAsFileTime

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtSetThreadPriority

The priority spectrum of wRTOS is 0 to 127, whereas the Windows range is {-15, -2, -1, 0, 1, 2, 15}.

The call is supported as both an RT call and as a Windows call (for example, RtAtoi and Atoi).

Yes - the elapsed time for the call is less than 5 microseconds.

RtSetTimer

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtSetTimerRelative

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtShrinkMSpace   No

RtSleepFt

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtTerminateProcess

 

No

RtTranslateBusAddress

 

No

RtUnmapMemory

 

No

RtUpdateProcThreadAttribute

 

Yes

RtWaitForMultipleObjects

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtWaitForMultipleObjectsEx

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtWaitForSingleObject

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtWaitForSingleObjectEx

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtWPrintf

The call is supported as both an RT call and as a Windows call (for example, RtAtoi and Atoi).

No

RtWritePortBufferUchar

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtWritePortBufferUlong

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtWritePortBufferUshort

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtWritePortUchar

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtWritePortUlong

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtWritePortUshort

 

Yes - the elapsed time for the call is less than 5 microseconds.

RtWtoi

The call is supported as both an RT call and as a Windows call (for example, RtAtoi and Atoi).

Yes - the elapsed time for the call is less than 5 microseconds.

About #pragma deprecated Functions in Rtapi.h

The functions listed under #pragma deprecated in the real-time API, Rtapi.h, are unsupported, not deprecated. Listing them this way ensures that a warning appears in Visual Studio when a developer attempts to use an unsupported function in Visual Studio.