Matrix of Windows-Supported 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.

Win32 Function Name

Notes

Deterministic? ("No" if blank)

AbnormalTermination

 

 

CloseHandle

 

 

CreateDirectory

 

 

CreateFile

 

 

CreateThread

 

 

DeleteCriticalSection

 

 

DeleteFile

 

 

DeviceIoControl

 

 

DllMain

 

 

EnterCriticalSection

 

Yes

ExitProcess

 

 

ExitThread

 

 

FileTimeToLocalFileTime

 

 

FileTimeToSystemTime

 

Yes

FreeLibrary

 

 

GetAdaptersAddresses

   

GetCurrentProcess

 

Yes

GetCurrentProcessId

 

Yes

GetCurrentProcessorNumber

 

Yes

GetCurrentThread

 

Yes

GetCurrentThreadId

 

Yes

GetExceptionCode

 

Yes

GetExceptionInformation

 

Yes

GetExitCodeThread

 

Yes

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

 

Yes

GetLocalTime

   

GetProcAddress

 

 

GetProcessAffinityMask

3

Yes

GetProcessHeap

 

 

HeapAlloc

 

 

HeapCreate

 

 

HeapDestroy

 

 

HeapFree

 

 

HeapReAlloc

 

 

HeapSize

 

Yes

InitializeCriticalSection

 

 

InterlockedAdd

  Yes

InterlockedAdd64

  Yes

InterlockedAnd

  Yes

InterlockedAnd8

  Yes

InterlockedAnd16

  Yes

InterlockedAnd64

  Yes

InterlockedBitTestAndReset

  Yes

InterlockedBitTestAndSet

  Yes

InterlockedCompare64Exchange128

  Yes

InterlockedCompareExchange

  Yes

InterlockedCompareExchange16

  Yes

InterlockedCompareExchange64

  Yes

InterlockedCompareExchange128

  Yes

InterlockedCompareExchangePointer

  Yes

InterlockedDecrement

  Yes

InterlockedDecrement16

  Yes

InterlockedDecrement64

  Yes

InterlockedExchange

  Yes

InterlockedExchange8

  Yes

InterlockedExchange16

  Yes

InterlockedExchange64

  Yes

InterlockedExchangePointer

  Yes

InterlockedExchangeSubtract

  Yes

InterlockedExchangeAdd

  Yes

InterlockedExchangeAdd64

  Yes

InterlockedIncrement

  Yes

InterlockedIncrement16

  Yes

InterlockedIncrement64

  Yes

InterlockedOr

  Yes

InterlockedOr8

  Yes

InterlockedOr16

  Yes

InterlockedOr64

  Yes

InterlockedXor

  Yes

InterlockedXor8

  Yes

InterlockedXor16

  Yes

InterlockedXor64

  Yes

LeaveCriticalSection

 

Yes

LoadLibrary

 

 

LocalFileTimeToFileTime

 

 

QueryPerformanceCounter

 

Yes

QueryPerformanceFrequency

 

Yes

RaiseException

 

 

ReadFile

 

 

RemoveDirectory

 

 

ResumeThread

 

Yes

RegCloseKey

   

RegCreateKey

   

RegCreateKeyEx

   

RegDeleteKey

   

RegDeleteKeyEx

   

RegDeleteValue

   

RegEnumKey

   

RegEnumKeyEx

   

RegEnumValue

   

RegOpenKey

   

RegOpenKeyEx

   

RegQueryValueEx

   

RegSetValueEx

   

SetEndOfFile

 

 

SetFilePointer

 

 

SetLastError

 

Yes

SetProcessAffinityMask

3

 

SetThreadAffinityMask

 

 

SetThreadIdealProcessor

 

 

SetUnhandledExceptionFilter

 

Yes

Sleep

 

Yes

SuspendThread

 

Yes

SystemTimeToFileTime

 

Yes

TerminateThread

 

 

TlsAlloc

 

Yes

TlsFree

 

Yes

TlsGetValue

 

Yes

TlsSetValue

 

Yes

TryEnterCriticalSection    

UnhandledExceptionFilter

 

Yes

VirtualAlloc    
VirtualFree    

WriteFile