Supported Windows API Functions

This section contains a list of supported Windows API functions.

NOTE: RTX64 only supports absolute pathnames.

Windows Function Name

Description

AbnormalTermination

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.

CloseHandle

Closes an open object handle.

CreateDirectory

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.

CreateFile

Creates or opens a file. It then returns a handle that can be used to access the object.

CreateThread

Creates a thread to execute within the address space of the calling process.

DeleteCriticalSection

Releases all resources used by an unowned critical-section object.

DeleteFile

Deletes an existing file.

DeviceIoControl

Sends a control code directly to a specified device driver, causing the corresponding device to perform the specified operation.

DllMain

An optional method of entry into a dynamic-link library (DLL).

EnterCriticalSection

Waits for ownership of the specified critical-section object. The function returns when the calling thread is granted ownership.

ExitProcess

Ends a process and all its threads.

ExitThread

Ends a thread.

FileTimeToLocalFileTime

Converts a file time to a local file time.

FileTimeToSystemTime

Converts a 64-bit file time to system time format.

FreeLibrary

Decrements the reference count of the loaded dynamic-link library (DLL) module.

GetCurrentProcess

Returns a pseudo handle for the current process.

GetCurrentProcessId

Returns the process identifier of the calling process.

GetCurrentProcessorNumber

Returns the system-assigned number of the current processor on which the caller is running.

GetCurrentThread

Returns a pseudohandle for the current thread.

GetCurrentThreadId

Returns the thread identifier of the calling thread.

GetExceptionCode

Retrieves a code that identifies the type of exception that occurred.

GetExceptionInformation

Retrieves a machine-independent description of an exception, and information about the machine state that existed for the thread when the exception occurred.

GetExitCodeThread

Retrieves the termination status of the specified thread.

GetModuleFileName

Retrieves a handle for each module in a specified process.

GetModuleHandle

Retrieves a module handle for the specified module. The module must have been loaded by the calling process.

GetModuleHandleEx

Retrieves a module handle for the specified module in a specified process.

GetLastError

Returns the calling thread's last-error code value.

GetLocalTime

Retrieves the current local date and time.

GetProcAddress

Returns the address of the specified exported dynamic-link library (DLL) function.

GetProcessAffinityMask

Retrieves the process affinity mask for the specified process and the system affinity mask for Real-Time Subsystem (RTSS).

GetProcessHeap

Obtains a handle to the heap of the calling process. This handle can then be used in calls to HeapAlloc, HeapReAlloc, HeapFree, and HeapSize.

GetSystemTime

Retrieves the current system date and time. The system time is expressed in Coordinated Universal Time (UTC).

GetTimeZoneInformation

Retrieves the current time-zone parameters. These parameters control the translations between UTC and local time.

HeapAlloc

Allocates a block of memory from a heap. The allocated memory is not movable.

HeapCreate

Creates a heap object that can be used by the calling process.

HeapDestroy

Destroys the specified heap object.

HeapFree

Frees a memory block allocated from a heap by HeapAlloc or HeapReAlloc.

HeapReAlloc

Reallocates a block of memory from a heap. This function enables you to resize a memory block and change other memory block properties.

HeapSize

Returns the size, in bytes, of a memory block allocated from a heap by HeapAlloc or HeapReAlloc.

InitializeCriticalSection

Initialize a Critical Section object.

InterlockedAdd

Performs an atomic addition operation on the specified LONG values.

InterlockedAdd64

Performs an atomic addition operation on the specified LONGLONG values.

InterlockedAnd

Performs an atomic AND operation on the specified LONG values.

InterlockedAnd8

Performs an atomic AND operation on the specified char values.

InterlockedAnd16

Performs an atomic AND operation on the specified SHORT values.

InterlockedAnd64

Performs an atomic AND operation on the specified LONGLONG values.

InterlockedBitTestAndReset

Tests the specified bit of the specified LONG value and sets it to 0. The operation is atomic.

InterlockedBitTestAndSet

Tests the specified bit of the specified LONG value and sets it to 1. The operation is atomic.

InterlockedCompare64Exchange128

Performs an atomic compare-and-exchange operation on the specified values. The function compares the specified 64-bit values and exchanges with the specified 128-bit value based on the outcome of the comparison. The operation is performed with release memory ordering semantics.

InterlockedCompareExchange

Performs an atomic compare-and-exchange operation on the specified values.

InterlockedCompareExchange16

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 outcome of the comparison.

InterlockedCompareExchange64

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 outcome of the comparison.

InterlockedCompareExchange128

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 outcome of the comparison.

InterlockedCompareExchangePointer

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 outcome of the comparison.

InterlockedDecrement

Decrements (decreases by one) the value of the specified 32-bit variable as an atomic operation.

InterlockedDecrement16

Decrements (decreases by one) the value of the specified 16-bit variable as an atomic operation.

InterlockedDecrement64

Decrements (decreases by one) the value of the specified 64-bit variable as an atomic operation.

InterlockedExchange

Sets a 32-bit variable to the specified value as an atomic operation.

InterlockedExchange8

Sets an 8-bit variable to the specified value as an atomic operation.

InterlockedExchange16

Sets a 16-bit variable to the specified value as an atomic operation.

InterlockedExchange64

Sets a 64-bit variable to the specified value as an atomic operation.

InterlockedExchangePointer

Atomically exchanges a pair of addresses.

InterlockedExchangeSubtract

Performs an atomic subtraction of two values.

InterlockedExchangeAdd

Performs an atomic addition of two 32-bit values.

InterlockedExchangeAdd64

Performs an atomic addition of two 64-bit values.

InterlockedIncrement

Increments (increases by one) the value of the specified 32-bit variable as an atomic operation.

InterlockedIncrement16

Increments (increases by one) the value of the specified 16-bit variable as an atomic operation.

InterlockedIncrement64

Increments (increases by one) the value of the specified 64-bit variable as an atomic operation.

InterlockedOr

Performs an atomic OR operation on the specified LONG values. The function prevents more than one thread from using the same variable simultaneously.

InterlockedOr8

Performs an atomic OR operation on the specified char values. The function prevents more than one thread from using the same variable simultaneously.

InterlockedOr16

Performs an atomic OR operation on the specified SHORT values. The function prevents more than one thread from using the same variable simultaneously.

InterlockedOr64

Performs an atomic OR operation on the specified LONGLONG values. The function prevents more than one thread from using the same variable simultaneously.

InterlockedXor

Performs an atomic XOR operation on the specified LONG values. The function prevents more than one thread from using the same variable simultaneously.

InterlockedXor8

Performs an atomic XOR operation on the specified char values. The function prevents more than one thread from using the same variable simultaneously.

InterlockedXor16

Performs an atomic XOR operation on the specified SHORT values. The function prevents more than one thread from using the same variable simultaneously.

InterlockedXor64

Performs an atomic XOR operation on the specified LONGLONG values. The function prevents more than one thread from using the same variable simultaneously.

LeaveCriticalSection

Releases ownership of the specified critical-section object.

LoadLibrary

Maps the specified executable module into the address space of the calling process.

LocalFileTimeToFileTime

Converts a local file time to a file time based on the UTC.

OutputDebugString

If the application has a debugger, the debugger displays the string. If the application has no debugger, OutputDebugString does nothing.

QueryPerformanceCounter

Retrieves the current value of the high-resolution performance counter.

QueryPerformanceFrequency

Retrieves the frequency of the high-resolution performance counter, if one exists. The frequency cannot change while the system is running.

RaiseException

Raises an exception in the calling thread.

ReadFile

Reads data from a file, starting at the position indicated by the file pointer.

RegCloseKey

A handle to the specified registry key.

RegCreateKey

Creates the specified registry key.

RegCreateKeyEx

Creates the specified registry key.

RegDeleteKey

Deletes a subkey and its values. See the RegDeleteKeyEx function for more expanded options.

RegDeleteKeyEx

Deletes a subkey and its values from the registry. See RegDeleteKey for a basic version of this function.

RegDeleteValue

Removes the specified value from the specified registry key.

RegEnumKey

Enumerates the subkeys of the specified open registry key.

RegEnumKeyEx

The subkeys of the specified open registry key.

RegEnumValue

Enumerates the values for the specified open registry key.

RegOpenKey

Opens the specified registry key.

RegOpenKeyEx

Opens the specified registry key.

RegQueryValueEx

Retrieves the type and data associated with the value of a specified registry key.

RegSetValueEx

Sets the data for the specified value in the specified registry key.

RemoveDirectory

Deletes an existing empty directory.

ResumeThread

Subtracts one from a thread's suspend count.

SetEndOfFile

Function moves the end-of-file (EOF) position for the specified file to the current position of the file pointer.

SetFilePointer

Moves the file pointer of an open file.

SetLastError

Sets the last-error code for the calling thread.

SetProcessAffinityMask

Sets a processor affinity mask for the threads of the specified process.

SetThreadAffinityMask

Sets a processor affinity mask for the specified thread.

SetThreadIdealProcessor

Sets a preferred processor for a thread.

SetUnhandledExceptionFilter

Lets an application supersede the top-level exception handler that RTSS places at the top of each thread and process.

Sleep

Suspends the current process for the specified time.

SleepEx

Suspends the current thread until the specified condition is met.

SuspendThread

Suspends the specified thread.

SystemTimeToFileTime

Converts a system time to a file time.

TerminateThread

Terminates a thread.

TlsAlloc

Allocates a thread local storage (TLS) index.

TlsFree

Releases a thread local storage (TLS) index, making it available for reuse.

TlsGetValue

Retrieves the value in the calling thread's thread local storage (TLS) slot for a specified TLS index.

TlsSetValue

Stores a value in the calling thread's thread local storage (TLS) slot for a specified TLS index.

TryEnterCriticalSection Attempts to enter a critical section without blocking. If the call is successful, the calling thread takes ownership of the critical section.

UnhandledExceptionFilter

Displays an Application Error message box and causes the exception handler to be executed.

VirtualAlloc Allocates memory in the RTX64 virtual address space. Memory allocated by this function is uninitialized.
VirtualFree Frees memory allocated with VirtualAlloc.

WaitForMultipleObjects

Waits until one or all of the specified objects are in the signaled state or the time-out interval elapses.

WaitForSingleObject

Waits until the specified object is in the signaled state or the time-out interval elapses.

WaitForSingleObjectEx

Waits until the specified object is in the signaled state or the time-out interval elapses.

WriteFile

Writes data to a file (synchronous operations only).

 

See Also