Windows-Supported API Functions
This topic lists the Windows-supported API functions.
Note: wRTOS only supports absolute pathnames.
| Windows Function | Description |
|---|---|
|
Indicates whether the try block of a try-finally statement terminated normally. The function can be called only from within the finally block of a try-finally statement. |
|
| AcquireSRWLockShared | Acquires the SRW lock in shared mode. Multiple threads can hold the lock in shared mode simultaneously, allowing concurrent read access. If an exclusive lock is held, the calling thread blocks until the lock can be acquired in shared mode. |
| AcquireSRWLockExclusive | Acquires the SRW lock in exclusive mode. Only one thread can hold the lock in exclusive mode at a time. If the lock is already held (in either shared or exclusive mode), the calling thread blocks until the lock can be acquired. |
|
Closes an open object handle. |
|
|
Creates a new directory. If the underlying file system supports security on files and directories, the function applies a specified security descriptor to the new directory. |
|
|
Creates or opens a file. It then returns a handle that can be used to access the object. |
|
|
Creates a thread to execute within the address space of the calling process. |
|
|
Releases all resources used by an unowned critical-section object. |
|
|
Deletes an existing file. |
|
|
Sends a control code directly to a specified device driver, causing the corresponding device to perform the specified operation. |
|
|
An optional entry point into a dynamic-link library (DLL). |
|
|
Waits for ownership of the specified critical-section object. The function returns when the calling thread is granted ownership. |
|
|
Ends a process and all its threads. |
|
|
Ends a thread. |
|
|
Converts a file time to a local file time. |
|
|
Converts a 64-bit file time to system time format. |
|
|
Decrements the reference count of the loaded dynamic-link library (DLL) module. |
|
|
Decrements the reference count of the loaded dynamic-link library (DLL) by one, then calls ExitThread to terminate the calling thread. |
|
|
Returns a pseudo handle for the current process. |
|
|
Returns the process identifier of the calling process. |
|
|
Returns the system-assigned number of the current processor on which the caller is running. |
|
|
Returns a pseudo handle for the current thread. |
|
|
Returns the thread identifier of the calling thread. |
|
|
Retrieves a code that identifies the type of exception that occurred. |
|
|
Retrieves a machine-independent description of an exception, and information about the machine state that existed for the thread when the exception occurred. |
|
|
Retrieves the termination status of the specified thread. |
|
|
Returns the calling thread's last-error code value. |
|
|
Retrieves the current local date and time. |
|
|
Retrieves information about logical processors and related hardware. |
|
|
Retrieves a handle for each module in a specified process. |
|
|
Retrieves a module handle for the specified module. The module must have been loaded by the calling process. |
|
|
Retrieves a handle for the module name specified by parameter lpModuleName in a specified process. |
|
|
Retrieves information about the current system. |
|
|
Returns the address of the specified exported dynamic-link library (DLL) function. |
|
|
Retrieves the process affinity mask for the specified process and the system affinity mask for Real-Time Subsystem (RTSS). |
|
|
Obtains a handle to the heap of the calling process. This handle can then be used in calls to HeapAlloc, HeapReAlloc, HeapFree, and HeapSize. |
|
|
Retrieves information about the current system. |
|
|
Retrieves the current system date and time. The system time is expressed in Coordinated Universal Time (UTC). |
|
|
Retrieves the current time-zone parameters. These parameters control the translations between UTC and local time. |
|
|
Retrieves the operating system version. |
|
|
Allocates a block of memory from a heap. The allocated memory is not movable. |
|
|
Creates a heap object that can be used by the calling process. |
|
|
Destroys the specified heap object. |
|
|
Frees a memory block allocated from a heap by HeapAlloc or HeapReAlloc. |
|
|
Reallocates a block of memory from a heap. This function enables you to re-size and change other memory block properties. |
|
|
Returns the size, in bytes, of a memory block allocated from a heap by HeapAlloc or HeapReAlloc. |
|
| InitializeConditionVariable | Initializes a condition variable to an empty state. This function must be called before any other condition variable operations. |
|
Initialize a Critical Section object. |
|
| InitializeSRWLock | Initializes an SRW lock to an unlocked, uncontended state. This function must be called before any other SRW lock operations. |
|
Performs an atomic addition operation on the specified LONG values. |
|
|
Performs an atomic addition operation on the specified LONGLONG values. |
|
|
Performs an atomic AND operation on the specified LONG values. |
|
|
Performs an atomic AND operation on the specified char values. |
|
|
Performs an atomic AND operation on the specified SHORT values. |
|
|
Performs an atomic AND operation on the specified LONGLONG values. |
|
|
Tests the specified bit of the specified LONG value and sets it to 0. The operation is atomic. |
|
|
Tests the specified bit of the specified LONG value and sets it to 1. The operation is atomic. |
|
|
Performs an atomic compare-and-exchange operation on the specified values. The function compares the 64-bit values and exchanges with the 128-bit value based on the comparison outcome. The operation is performed with release memory ordering semantics. |
|
|
Performs an atomic compare-and-exchange operation on the specified values. |
|
|
Performs an atomic compare-and-exchange operation on the specified values. The function compares two specified 16-bit values and exchanges with another 16-bit value based on the comparison outcome. |
|
|
Performs an atomic compare-and-exchange operation on the specified values. The function compares two specified 64-bit values and exchanges with another 64-bit value based on the comparison outcome. |
|
|
Performs an atomic compare-and-exchange operation on the specified values. The function compares two specified 128-bit values and exchanges with another 128-bit value based on the comparison outcome. |
|
|
Performs an atomic compare-and-exchange operation on the specified values. The function compares two specified pointer values and exchanges with another pointer value based on the comparison outcome. |
|
|
Decrements (decreases by one) the value of the specified 32-bit variable as an atomic operation. |
|
|
Decrements (decreases by one) the value of the specified 16-bit variable as an atomic operation. |
|
|
Decrements (decreases by one) the value of the specified 64-bit variable as an atomic operation. |
|
|
Sets a 32-bit variable to the specified value as an atomic operation. |
|
|
Sets an 8-bit variable to the specified value as an atomic operation. |
|
|
Sets a 16-bit variable to the specified value as an atomic operation. |
|
|
Sets a 64-bit variable to the specified value as an atomic operation. |
|
|
Atomically exchanges a pair of addresses. |
|
|
Performs an atomic subtraction of two values. |
|
|
Performs an atomic addition of two 32-bit values. |
|
|
Performs an atomic addition of two 64-bit values. |
|
|
Increments (increases by one) the value of the specified 32-bit variable as an atomic operation. |
|
|
Increments (increases by one) the value of the specified 16-bit variable as an atomic operation. |
|
|
Increments (increases by one) the value of the specified 64-bit variable as an atomic operation. |
|
|
Performs an atomic OR operation on the specified LONG values. The function prevents more than one thread from using the same variable simultaneously. |
|
|
Performs an atomic OR operation on the specified char values. The function prevents more than one thread from using the same variable simultaneously. |
|
|
Performs an atomic OR operation on the specified SHORT values. The function prevents more than one thread from using the same variable simultaneously. |
|
|
Performs an atomic OR operation on the specified LONGLONG values. The function prevents more than one thread from using the same variable simultaneously. |
|
|
Performs an atomic XOR operation on the specified LONG values. The function prevents more than one thread from using the same variable simultaneously. |
|
|
Performs an atomic XOR operation on the specified char values. The function prevents more than one thread from using the same variable simultaneously. |
|
|
Performs an atomic XOR operation on the specified SHORT values. The function prevents more than one thread from using the same variable simultaneously. |
|
|
Performs an atomic XOR operation on the specified LONGLONG values. The function prevents more than one thread from using the same variable simultaneously. |
|
|
Determines whether the calling process is being debugged by a user-mode debugger. |
|
|
Releases ownership of the specified critical-section object. |
|
|
Maps the specified executable module into the address space of the calling process. |
|
|
Converts a local file time to a file time based on the UTC. |
|
|
If the application has a debugger, it displays the string. If it does not, OutputDebugString does nothing. |
|
|
Retrieves the current value of the high-resolution performance counter. |
|
|
Retrieves the frequency of the high-resolution performance counter, if one exists. The frequency cannot change while the system is running. |
|
|
Raises an exception in the calling thread. |
|
|
Reads data from a file, starting at the position the file pointer indicates. |
|
|
A handle to the specified registry key. |
|
|
Creates the specified registry key. |
|
|
Creates the specified registry key. |
|
|
Deletes a subkey and its values. See the RegDeleteKeyEx function for more expanded options. |
|
|
Deletes a subkey and its values from the registry. See RegDeleteKey for a basic version of this function. |
|
|
Removes the specified value from the specified registry key. |
|
|
Enumerates the subkeys of the specified open registry key. |
|
|
The subkeys of the specified open registry key. |
|
|
Enumerates the values for the specified open registry key. |
|
|
Opens the specified registry key. |
|
|
Opens the specified registry key. |
|
|
Retrieves the type and data associated with the value of a specified registry key. |
|
|
Sets the data for the specified value in the specified registry key. |
|
| ReleaseSRWLockExclusive | Releases an SRW lock previously acquired in exclusive mode. If other threads are waiting, the next waiter is awakened according to the queuing policy. |
| ReleaseSRWLockShared | Releases an SRW lock previously acquired in shared mode. If other threads are waiting, the next waiter is awakened according to the queuing policy. |
|
Deletes an existing empty directory. |
|
|
Subtracts one from a thread's suspend count. |
|
| RTL_CONDITION_VARIABLE | Uses a pointer field that encodes a pointer to a wait entry list and the wait list being modified. |
|
Function moves the end-of-file (EOF) position for the specified file to the current position of the file pointer. |
|
|
Moves the file pointer of an open file. |
|
|
Sets the last-error code for the calling thread. |
|
|
Sets a processor affinity mask for the threads of the specified process. |
|
|
Sets a processor affinity mask for the specified thread. |
|
|
Sets a preferred processor for a thread. |
|
|
Lets an application supersede the top-level exception handler that RTSS places at the top of each thread and process. |
|
|
Suspends the current process for the specified time. |
|
| SleepConditionVariableCS | Atomically releases the critical section and waits on the condition variable. When awakened (either by signal or timeout), the critical section is automatically reacquired before returning. |
| SleepConditionVariableSRW | Atomically releases the SRW lock and waits on the condition variable. When awakened, the SRW lock is automatically reacquired in the same mode (shared or exclusive) before returning. |
|
Suspends the current thread until the specified condition is met. |
|
| SRWLOCK |
Uses pointer-sized storage with embedded flags in the low bits. |
|
Suspends the specified thread. |
|
|
Converts a system time to a file time. |
|
|
Terminates a thread. |
|
|
Allocates a thread local storage (TLS) index. |
|
|
Releases a thread local storage (TLS) index, making it available for reuse. |
|
|
Retrieves the value in the calling thread's thread local storage (TLS) slot for a specified TLS index. |
|
|
Stores a value in the calling thread's thread local storage (TLS) slot for a specified TLS index. |
|
| TryAcquireSRWLockExclusive | Attempts to acquire the SRW lock in exclusive mode. |
| TryAcquireSRWLockShared | Attempts to acquire the SRW lock in shared mode. |
|
Attempts to enter a critical section without blocking. If the call is successful, the calling thread takes ownership of the critical section. |
|
|
Displays an Application Error message box and causes the exception handler to be executed. |
|
|
Allocates memory in the wRTOS virtual address space. Memory allocated by this function is uninitialized. |
|
|
Frees memory allocated with VirtualAlloc. |
|
| WakeConditionVariable | Wakes at most one thread waiting on the condition variable. The selection is in FIFO order (i.e., the first thread to wait is the first to be awakened). |
|
Writes data to a file (synchronous operations only). |