On Time RTOS-32 Documentation
Welcome
RTTarget-32
RTKernel-32
RTKernel-32 Programming Manual
Introduction
Multitasking, Real-Time, and RTKernel-32
Module RTKernel-32
Alternate APIs for RTKernel-32
RTKernel-C 4.5 for DOS Compatible API
Win32 Thread Compatible API
Win32 Priorities
Win32 Handles
Win32 and RTKernel-32 Error Handling
Mixing RTKernel-32 and Win32 APIs
Function GetCurrentThreadId
Function CreateThread
Function ExitThread
Function TerminateThread
Function GetExitCodeThread
Function GetCurrentThread
Function Sleep
Function GetTickCount
Function GetTickCount64
Function SuspendThread
Function ResumeThread
Function SetThreadPriority
Function GetThreadPriority
Function InitializeCriticalSection
Function InitializeCriticalSectionAndSpinCount
Function EnterCriticalSection
Function TryEnterCriticalSection
Function LeaveCriticalSection
Function DeleteCriticalSection
Function CreateEvent
Function CreateMutex
Function CreateSemaphore
Function OpenEvent
Function OpenMutex
Function OpenSemaphore
Function SetEvent
Function ResetEvent
Function PulseEvent
Function ReleaseMutex
Function ReleaseSemaphore
Function WaitForSingleObject
Function WaitForMultipleObjects
Function QueryPerformanceCounter
Function QueryPerformanceFrequency
Function GetThreadId
Function SleepEx
Function QueueUserAPC
Function QueueUserWorkItem
Function GetSystemTimeAdjustment
Function SwitchToThread
Function CreateWaitableTimer
Function SetWaitableTimer
Function OpenWaitableTimer
Function CancelWaitableTimer
Function SetThreadAffinityMask
Function SetThreadGroupAffinity
Supplemental Modules
RTKernel-32 Drivers
Demo Programs
Advanced Topics
Typical Error Sources
Error and Information Messages
RTKernel-32 Reference Manual
RTFiles-32
RTIP-32
RTPEG-32
RTUSB-32
|
Mixing RTKernel-32 and Win32 APIs
The simultaneous use of both RTKernel-32's native and Win32 API is possible and quite typical, since the Win32 thread API lacks many features required by real-time systems (e.g., interrupt handling, real-time memory management, etc.). However, care must be taken not to confuse Win32 thread handles and RTKernel-32 task handles.
Every task running under RTKernel-32 has exactly one RTKernel-32 task handle. However, only those tasks started by Win32's CreateThread function have one or more Win32 handles. If you want to use the compiler's multithread run-time libraries, all threads using the run-time systems should be started using the run-time systems' function for this purpose (e.g., _beginthread) or function RTKRTLCreateThread. To translate Win32 thread handles to/from RTKernel-32 handles, use function RTKWin32ToRTKHandle and function RTKToWin32Handle.
Win32 Thread Compatible API
Win32 and RTKernel-32 Error Handling
Function GetCurrentThreadId
|