Windows Compatibility API

Mono implements a small subset of the Win32 API for some file system interaction, I/O, thread and process operations.

On Windows, Mono uses directly the services provided by the operating system. On other operating system it uses its own implementation (referred to as the "io-layer" or "wapi").

GetThreadContext

DeleteCriticalSection

EnterCriticalSection

InitializeCriticalSection

InitializeCriticalSectionAndSpinCount

LeaveCriticalSection

SetCriticalSectionSpinCount

TryEnterCriticalSection

errno_to_WSA

GetLastError

SetLastError

CreateEvent

PulseEvent

ResetEvent

SetEvent

CloseHandle

CopyFile

CreateDirectory

CreateFile

CreatePipe

DeleteFile

FileTimeToSystemTime

FindClose

FindFirstFile

FindNextFile

FlushFileBuffers

GetCurrentDirectory

GetFileAttributes

GetFileAttributesEx

GetFileSize

GetFileTime

GetFileType

GetLogicalDriveStrings

GetStdHandle

GetTempPath

LockFile

MoveFile

ReadFile

RemoveDirectory

SetCurrentDirectory

SetEndOfFile

SetFileAttributes

SetFilePointer

SetFileTime

UnlockFile

WriteFile

mono_once

CreateMutex

ReleaseMutex

CreateProcess

EnumProcesses

EnumProcessModules

GetCurrentProcess

GetCurrentProcessId

GetExitCodeProcess

GetModuleBaseName

GetProcessTimes

GetProcessWorkingSetSize

OpenProcess

SetProcessWorkingSetSize

TerminateProcess

ImpersonateLoggedOnUser

RevertToSelf

CreateSemaphore

ReleaseSemaphore

closesocket

ioctlsocket

WSACleanup

WSAGetLastError

WSAIoctl

WSASetLastError

WSAStartup

GetSystemInfo

BindIoCompletionCallback

CreateThread

ExitThread

GetCurrentThread

GetCurrentThreadId

GetExitCodeThread

OpenThread

QueueUserAPC

ResumeThread

Sleep

SleepEx

SuspendThread

TlsAlloc

TlsFree

TlsGetValue

TlsSetValue

GetTickCount

QueryPerformanceCounter

QueryPerformanceFrequency

SignalObjectAndWait

WaitForMultipleObjects

WaitForMultipleObjectsEx

WaitForSingleObject

WaitForSingleObjectEx

OpenEvent

OpenMutex

GetProcessId

ShellExecuteEx

OpenSemaphore