Table of Multithread Routines

The following table lists routines available for multithread programs. For information about the calling syntax of these routines, see the Platform SDK title in HTML Help Viewer.

Routine Description
CloseHandle Closes an open object handle.
CreateEvent Creates a named or unnamed event object.
CreateMutex Creates a named or unnamed mutex object.
CreateProcess Creates a new process and its primary thread.
CreateSemaphore Creates a named or unnamed semaphore 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.
DuplicateHandle Duplicates an object handle.
EnterCriticalSection Waits for ownership of the specified critical section object.
ExitProcess Ends a process and all its threads.
ExitThread Ends a thread.
GetCurrentProcess Returns a pseudohandle for the current process.
GetCurrentProcessId Returns the process identifier of the calling process.
GetCurrentThread Returns a pseudohandle for the current thread.
GetCurrentThreadId Returns the thread identifier of the calling thread.
GetExitCodeProcess Retrieves the termination status of the specified process.
GetExitCodeThread Retrieves the termination status of the specified thread.
GetLastError Returns the calling thread's last-error code value.
GetPriorityClass Returns the priority class for the specified process.
GetThreadPriority Returns the priority value for the specified thread.
InitializeCriticalSection Initializes a critical section object.
LeaveCriticalSection Releases ownership of the specified critical section object.
OpenEvent Returns a handle of an existing named event object.
OpenMutex Returns a handle of an existing named mutex object.
OpenProcess Returns a handle of an existing process object.
OpenSemaphore Returns a handle of an existing named semaphore object.
PulseEvent As a single operation, sets (to signaled) and then resets the state of the specified event object after releasing the appropriate number of waiting threads.
ReleaseMutex Releases ownership of the specified mutex object.
ReleaseSemaphore Increases the count of the specified semaphore object by a specified amount.
ResetEvent Sets the state of the specified event object to nonsignaled.
ResumeThread Decrements a thread's suspend count. When the suspend count is zero, execution of the thread resumes.
SetEvent Sets the state of the specified event object to signaled.
SetLastError Sets the last-error code for the calling thread.
SetPriorityClass Sets the priority class for the specified process.
SetThreadPriority Sets the priority value for the specified thread.
SuspendThread Suspends the specified thread.
TerminateProcess Terminates the specified process and all of its threads.
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.
WaitForMultipleObjects Returns either any one or all of the specified objects are in the signaled state or when the time-out interval elapses.
WaitForSingleObject Returns when the specified object is in the signaled state or the time-out interval elapses.

If a function mentioned in this section is not listed in the preceding table, it is only available through the USE DFWIN statement.