NTDLL 3.51 Exports

The table below lists all the functions that are exported from NTDLL version 3.51. In the absence of an earlier version to inspect, this study counts these exports as the originals. Most are still exported as of version 10.0.

Of the 2,680 functions that have ever been exported from NTDLL, 950 date from as far back as Windows NT 3.51. Since by far the next largest addition was for Windows Vista, it is striking that in terms of available functions, though not perhaps in terms of what can or should be done with them, a fully-informed low-level user-mode programmer from the mid-1990s would not have had much to learn for a decade. Also striking is that hardly any of these original functions are yet documented as being available in user mode as exports from NTDLL. This is not to say that all (or even most) should be, just that few are.

Documentation status is conveyed by colour coding. If you browse with scripting enabled, hovering over any text that has a background colour should produce a tooltip that explains the formatting. NTDLL exports that have all along had their own non-trivial documentation as exports from NTDLL are shown with no background colour. So too are the NTDLL implementations of documented functions and variables from the C Run-Time Library. If the whole of the documentation is just that the function is reserved or obsolete, without even giving a prototype, then the function is highlighted red or highlighted pink, respectively. Functions that look to be completely undocumented are highlighted yellow. If a function is documented now but is known not to have been documented immediately, especially in the contemporaneous Software Development Kit (SDK), then it is shaded yellow to retain some of its previous status as undocumented. If the delayed documentation came specifically from the function’s listing among the Settlement Program Interfaces in late 2002, then the shading is less yellow since Microsoft at least acknowledged that the documentation was late. An undocumented function is highlighted orange, as semi-documented, if it is at least declared in one or another header file from an SDK or, exceptionally, a Windows Driver Kit (WDK). NTDLL is low-level enough that some functions are documented in the Windows Driver Kit (WDK), typically as exports from the NT kernel for use by ring 0 software such as device drivers, but sometimes with non-specific talk of being callable from user mode. Such functions are shaded blue if they seem always to have had such documentation, but a brighter blue if the WDK documentation was not immediate. A function is shaded grey if it seems not to be documented but is known to be the entire low-level implementation of some function in a higher-level DLL such as KERNEL32 or ADVAPI32. Identifying these is a work in progress.

For the handful that are yet documented as NTDLL functions and the more whose kernel-mode equivalents are documented in the WDK, Microsoft either lies about the applicable versions or says nothing. Though the latter is unhelpful, it seems the less unethical and is anyway par for the course at this level: the WDK documentation never has bothered much about versions. Or so things stood until 2009. Preparation of a second WDK for Windows 7 (version 7600.16385.1, dated 1st December 2009) included the addition of “Available in Windows 2000 and later versions of Windows” to the documentation of just about every function for which no minimum version was yet specified. This is not unreasonable inasmuch as it means only that Microsoft no longer supports earlier versions of Windows, but of course it will easily be taken by some as accurate history. For now, this development is ignored in the table below, which has as its reference version only the first WDK for Windows 7 (version 7600.16385.0, dated 18th June 2009).

Of course, where Microsoft documents versions for which a function is available, the intention may just be that those are the versions for which the function is implemented well enough to consider usable by programmers in general. It could be that the function is exported from earlier versions but in an experimental or even defective implementation that Microsoft cannot support. Certainly, a pattern is discernable in which many of these original functions are said to be available starting from whatever Windows version was contemporaneous with the function’s introduction to the documentation. That is perhaps how RtlGetDaclSecurityDescriptor is dated from Windows Server 2003 SP1 (yes, so precisely) and is surely the only way anyone can credibly mean that ZwLockFile is not usable until Windows 7. Just as discernable a pattern is that where the documentation gives one implausibly recent version the relevant header file gives another (by declaring the function only for the right values of the NTDDI_VERSION macro), and this other is typically less recent. For instance, programmers in general are told that NtSetInformationToken is available from Windows 7, but the WDK evidently has been prepared so that some programmer, presumably at Microsoft, had the use of this function even when developing for Windows XP.

Special mention must be made of a few NTDLL functions that Microsoft documented as Settlement Program Interfaces in late 2002 apparently because they are used by Microsoft Middleware products such as Internet Explorer. There were not many at this low level. A good proportion have become re-undocumented in the years since, at least as exports from NTDLL. It should anyway not go unnoticed that Microsoft’s selection of functions to document for the settlement was very strict, if not grudging and perverse. See for instance that RtlTimeToSecondsSince1970 got documented but its inverse RtlSecondsSince1970ToTime did not.

Though most of these original NTDLL functions are still exported as of version 10.0, there are some notable changes. The several dozen functions for floating-point emulation eventually got discontinued in what looks to have been a clean-up across multiple versions (contemporaneous with the release of 64-bit Windows for the x64 platform). These functions drop out from version 5.1 at Windows XP SP2 and from version 5.2 at Windows Server 2003 SP1 and do not survive at all to version 6.0. Some may say this was long past time, especially once Windows started requiring the cmpxchg8b instruction and thus in practice a CPU recent enough to be sure of having a built-in floating-point unit.

One oddity had better be remarked on now lest it be thought a mistake in the table. The NtGetTickCount function was dropped just for version 5.1. Its companion, ZwGetTickCount, was also dropped for version 5.1 but only NtGetTickCount reappears for version 5.2.

One of the Remarks signals correction of a bug. See that several of the NTDLL exports correspond closely to functions that are exported from KERNEL32, though not in all versions. The KERNEL32 export is typically a forward to NTDLL, so that it resolved from KERNEL32’s export directory without needing any code in KERNEL32. That ordinarily means that if the NTDLL function is undocumented, then the documentation for KERNEL32 is as good for NTDLL. However, one of the forwards demonstrates an exception. The KERNEL32 function HeapFree is originally forwarded to the NTDLL function RtlFreeHeap, but the former returns a BOOL and the latter a BOOLEAN. When RtlFreeHeap fails, it returns zero in the al register, leaving the high 24 bits of eax undefined. Forwarding from HeapFree then has the unwanted effect that the return value of a failed HeapFree may be non-zero, as if for success. This eventually got corrected in version 6.0. Presumably by oversight, it is restored in Windows 7 for HeapFree as an export from the new KERNELBASE.

Function Remarks
CsrAllocateCaptureBuffer  
CsrAllocateCapturePointer discontinued in 5.0
CsrAllocateMessagePointer  
CsrCaptureMessageBuffer  
CsrCaptureMessageString  
CsrCaptureTimeout  
CsrClientCallServer  
CsrClientConnectToServer  
CsrClientMaxMessage discontinued in 4.0
CsrClientSendMessage discontinued in 4.0
CsrClientThreadConnect discontinued in 4.0
CsrFreeCaptureBuffer  
CsrIdentifyAlertableThread  
CsrNewThread discontinued in 6.0 from Windows Vista SP1
CsrProbeForRead discontinued in 6.0
CsrProbeForWrite discontinued in 6.0
CsrSetPriorityClass  
CsrpProcessCallbackRequest discontinued in 4.0
DbgBreakPoint whole implementation of KERNEL32 function DebugBreak in 3.51 to 6.0;
documentation since 2000-2002 until 2005-2006 requires Windows 2000 and higher;
declaration requires Windows 2000 and higher;
conditionally redefined by macro as compiler intrinsic __debugbreak
DbgPrint documentation since 2000-2002 requires Windows 2000 and higher
DbgPrompt undocumented until 2005-2006
DbgSsHandleKmApiMsg discontinued in 5.1
DbgSsInitialize discontinued in 5.1
DbgUiConnectToDbg  
DbgUiContinue  
DbgUiWaitStateChange  
DbgUserBreakPoint  
KiUserApcDispatcher  
KiUserCallbackDispatcher  
KiUserExceptionDispatcher  
LdrAccessResource  
LdrDisableThreadCalloutsForDll  
LdrEnumResources  
LdrFindEntryForAddress  
LdrFindResourceDirectory_U  
LdrFindResource_U  
LdrGetDllHandle  
LdrGetProcedureAddress  
LdrInitializeThunk  
LdrLoadDll  
LdrProcessRelocationBlock  
LdrQueryImageFileExecutionOptions  
LdrQueryProcessModuleInformation  
LdrShutdownProcess  
LdrShutdownThread  
LdrUnloadDll  
LdrVerifyImageMatchesChecksum  
NPXEMULATORTABLE discontinued in 5.1
NlsMbCodePageTag (data) documented in 2008-2009 as NLS_MB_CODE_PAGE_TAG macro
NlsMbOemCodePageTag (data)  
NtAcceptConnectPort  
NtAccessCheck  
NtAccessCheckAndAuditAlarm declaration requires Windows XP and higher
NtAdjustGroupsToken declaration requires Windows XP and higher
NtAdjustPrivilegesToken declaration requires Windows 2000 and higher
NtAlertResumeThread  
NtAlertThread  
NtAllocateLocallyUniqueId undocumented until 2007;
not declared
NtAllocateUuids  
NtAllocateVirtualMemory undocumented until 2008-2009;
declaration requires Windows 2000 and higher
NtCallbackReturn  
NtCancelIoFile  
NtCancelTimer  
NtClearEvent  
NtClose undocumented in SDK until 2001-2002;
undocumented in WDK until 2007;
documentation in SDK requires Windows 2000 and higher;
declaration in WDK requires Windows 2000 and higher
NtCloseObjectAuditAlarm declaration requires Windows XP and higher
NtCompleteConnectPort  
NtConnectPort  
NtContinue  
NtCreateDirectoryObject undocumented until 2007;
not declared
NtCreateEvent undocumented until 2008-2009;
documented for Windows XP and higher;
not declared
NtCreateEventPair  
NtCreateFile undocumented until settlement in 2002;
documentation withdrawn from SDK in 2003-2006 but persists in MSDN Library until 2007-2008;
undocumented in WDK until 2007;
documentation in SDK requires Windows 2000 and higher;
documentation in WDK since 2008-2009 requires Windows 2000 and higher;
declaration in WDK requires Windows 2000 and higher
NtCreateIoCompletion  
NtCreateKey undocumented until 2007;
not declared
NtCreateMailslotFile  
NtCreateMutant  
NtCreateNamedPipeFile  
NtCreatePagingFile  
NtCreatePort  
NtCreateProcess  
NtCreateProfile  
NtCreateSection undocumented until 2007;
declaration requires Windows XP and higher
NtCreateSemaphore  
NtCreateSymbolicLinkObject  
NtCreateThread  
NtCreateTimer  
NtCreateToken  
NtCurrentTeb x86 only;
defined inline as read from fs segment
NtDelayExecution  
NtDeleteFile undocumented until 2008-2009;
documentation requires Windows XP and higher;
not declared
NtDeleteKey undocumented until 2007;
not declared
NtDeleteValueKey undocumented until 2007;
documentation since 2008-2009 requires Windows 2000 and higher;
not declared
NtDeviceIoControlFile undocumented until 2001-2003;
undocumented in WDK until 2008-2009;
documentation in SDK requires Windows 2000 and higher;
declaration in WDK requires Windows 2000 and higher
NtDisplayString  
NtDuplicateObject undocumented until 2008-2009;
documented as “reserved for system use”;
not declared
NtDuplicateToken undocumented until 2008-2009;
documentation requires Windows 2000 and higher;
declaration requires Windows XP and higher
NtEnumerateBus discontinued in 4.0
NtEnumerateKey undocumented until 2007;
not declared
NtEnumerateValueKey undocumented until 2007;
not declared
NtExtendSection  
NtFlushBuffersFile undocumented until 2008-2009;
not declared
NtFlushInstructionCache  
NtFlushKey undocumented until 2007;
not declared
NtFlushVirtualMemory undocumented until 2008-2009;
documentation requires Windows XP and higher;
not declared
NtFlushWriteBuffer  
NtFreeVirtualMemory undocumented until 2008-2009;
declaration requires Windows 2000 and higher
NtFsControlFile undocumented until 2008-2009;
declaration requires Windows 2000 and higher
NtGetContextThread  
NtGetPlugPlayEvent discontinued in 6.2
NtGetTickCount discontinued in 5.1;
restored in 5.2
NtImpersonateClientOfPort  
NtImpersonateThread  
NtInitializeRegistry  
NtListenPort  
NtLoadDriver undocumented until 2008-2009;
documentation requires Windows XP and higher;
not declared
NtLoadKey  
NtLockFile undocumented until 2008-2009;
documentation requires Windows 7 and higher;
not declared
NtLockVirtualMemory  
NtMakeTemporaryObject undocumented until 2007;
not declared
NtMapViewOfSection undocumented until 2007;
not declared
NtNotifyChangeDirectoryFile  
NtNotifyChangeKey undocumented until 2008-2009;
documentation requires Windows XP and higher;
not declared
NtOpenDirectoryObject undocumented until 2008-2009;
documentation requires Windows XP and higher;
not declared
NtOpenEvent undocumented until 2007;
documentation requires Windows Server 2003 and higher;
not declared
NtOpenEventPair  
NtOpenFile undocumented until settlement in 2002;
documentation withdrawn from SDK in 2003-2006 but persists in MSDN Library until 2007-2008;
undocumented in WDK until 2007;
documentation in SDK requires Windows 2000 and higher;
declaration in WDK requires Windows 2000 and higher
NtOpenIoCompletion  
NtOpenKey undocumented until 2007;
not declared
NtOpenMutant  
NtOpenObjectAuditAlarm declared for Windows XP and higher
NtOpenProcess undocumented until 2007
NtOpenProcessToken declared for Windows 2000 and higher
NtOpenSection undocumented until 2007;
not declared
NtOpenSemaphore  
NtOpenSymbolicLinkObject undocumented until 2007;
not declared
NtOpenThread undocumented until 2004-2006;
documentation withdrawn in 2007-2008
NtOpenThreadToken declaration requires Windows 2000 and higher
NtOpenTimer  
NtPlugPlayControl  
NtPrivilegeCheck declaration requires Windows XP and higher
NtPrivilegeObjectAuditAlarm declaration requires Windows XP and higher
NtPrivilegedServiceAuditAlarm declaration requires Windows XP and higher
NtProtectVirtualMemory  
NtPulseEvent  
NtQueryAttributesFile  
NtQueryDefaultLocale  
NtQueryDirectoryFile undocumented until 2008-2009;
documentation requires Windows XP and higher;
declaration requires Windows 2000 and higher
NtQueryDirectoryObject  
NtQueryEaFile  
NtQueryEvent  
NtQueryInformationFile undocumented until 2007;
declaration requires Windows 2000 and higher
NtQueryInformationPort  
NtQueryInformationProcess undocumented until 2001-2002;
documentation until 2004-2006 requires Windows 2000 and higher
NtQueryInformationThread undocumented until 2001-2002;
documentation until 2004-2006 requires Windows 2000 and higher
NtQueryInformationToken undocumented until 2008-2009;
documentation requires Windows XP and higher;
declaration requires Windows 2000 and higher
NtQueryIntervalProfile  
NtQueryIoCompletion  
NtQueryKey undocumented until 2007;
not declared
NtQueryMutant  
NtQueryObject undocumented until 2004-2006;
documentation withdrawn from MSDN Library in 2007-2008;
undocumented in WDK until 2008-2009;
documentation in WDK requires Windows 2000 and higher;
declaration in WDK requires Windows NT 4.0 and higher
NtQueryPerformanceCounter undocumented until 2004-2006;
documentation withdrawn from MSDN Library in 2007-2008
NtQuerySection  
NtQuerySecurityObject undocumented until 2008-2009;
documentation requires Windows XP and higher;
declared for Windows 2000 and higher
NtQuerySemaphore  
NtQuerySymbolicLinkObject undocumented until 2007;
not declared
NtQuerySystemEnvironmentValue  
NtQuerySystemInformation undocumented until 2001-2003;
documentation until 2004-2006 requires Windows 2000 and higher
NtQuerySystemTime undocumented until settlement in 2002;
documentation until 2004-2006 requires Windows 2000 and higher
NtQueryTimer  
NtQueryTimerResolution  
NtQueryValueKey undocumented until 2007;
not declared
NtQueryVirtualMemory declared in Windows 10 WDK;
declaration requires Windows 2000 and higher
NtQueryVolumeInformationFile undocumented until 2008-2009;
declaration requires Windows 2000 and higher
NtRaiseException  
NtRaiseHardError  
NtReadFile undocumented until 2007;
declaration requires Windows 2000 and higher
NtReadRequestData  
NtReadVirtualMemory  
NtRegisterNewDevice discontinued in 4.0
NtRegisterThreadTerminatePort  
NtReleaseMutant  
NtReleaseProcessMutant discontinued in 4.0
NtReleaseSemaphore  
NtRemoveIoCompletion  
NtReplaceKey  
NtReplyPort  
NtReplyWaitReceivePort  
NtReplyWaitReplyPort  
NtRequestPort  
NtRequestWaitReplyPort  
NtResetEvent  
NtRestoreKey  
NtResumeThread  
NtSaveKey  
NtSetContextThread  
NtSetDefaultHardErrorPort  
NtSetDefaultLocale  
NtSetEaFile  
NtSetEvent undocumented until 2008-2009;
documentation requires Windows XP and higher;
not declared
NtSetHighEventPair  
NtSetHighWaitLowEventPair  
NtSetHighWaitLowThread discontinued in 5.0
NtSetInformationFile undocumented until 2007;
declaration requires Windows 2000 and higher
NtSetInformationKey declared in Windows 10 SDK
NtSetInformationObject  
NtSetInformationProcess  
NtSetInformationThread undocumented until 2007;
declaration requires Windows XP and higher
NtSetInformationToken undocumented until 2008-2009;
documentation requires Windows 7 and higher;
declaration requires Windows XP and higher
NtSetIntervalProfile  
NtSetIoCompletion  
NtSetLdtEntries  
NtSetLowEventPair  
NtSetLowWaitHighEventPair  
NtSetLowWaitHighThread discontinued in 5.0
NtSetSecurityObject undocumented until 2008-2009;
documentation requires Windows XP and higher;
declaration requires Windows 2000 and higher
NtSetSystemEnvironmentValue  
NtSetSystemInformation  
NtSetSystemPowerState  
NtSetSystemTime  
NtSetTimer  
NtSetTimerResolution  
NtSetValueKey undocumented until 2007;
not declared
NtSetVolumeInformationFile undocumented until 2008-2009;
documentation requires Windows Server 2003 and higher;
declaration requires Windows 2000 and higher
NtShutdownSystem  
NtStartProfile  
NtStopProfile  
NtSuspendThread  
NtSystemDebugControl  
NtTerminateProcess undocumented until 2007;
not declared
NtTerminateThread  
NtTestAlert  
NtUnloadDriver undocumented until 2008-2009;
documentation requires Windows XP and higher;
not declared
NtUnloadKey  
NtUnlockFile undocumented until 2008-2009;
documentation requires Windows 7 and higher;
declaration requires Windows 2000 and higher
NtUnlockVirtualMemory  
NtUnmapViewOfSection undocumented until 2007;
not declared
NtVdmControl  
NtW32Call discontinued in 4.0 from Windows NT 4.0 SP4
NtWaitForMultipleObjects  
NtWaitForProcessMutant discontinued in 4.0
NtWaitForSingleObject undocumented until 2001-2002;
undocumented in WDK until 2008-2009;
documented in SDK as “deprecated”;
documentation in SDK requires Windows 2000 and higher;
documentation in WDK requires Windows XP and higher;
not declared in WDK
NtWaitHighEventPair  
NtWaitLowEventPair  
NtWriteFile undocumented until 2007;
declaration requires Windows 2000 and higher
NtWriteRequestData  
NtWriteVirtualMemory  
PfxFindPrefix declared for Windows 2000 and higher
PfxInitialize declared for Windows 2000 and higher
PfxInsertPrefix declared for Windows 2000 and higher
PfxRemovePrefix declared for Windows 2000 and higher
RestoreEm87Context discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
RtlAbortRXact  
RtlAbsoluteToSelfRelativeSD undocumented until 2000-2006;
documentation requires Microsoft Windows Server 2003 SP1, and higher;
declaration requires Windows Server 2003 SP1, and higher
RtlAcquirePebLock  
RtlAcquireResourceExclusive  
RtlAcquireResourceShared  
RtlAddAccessAllowedAce undocumented until 2000;
declaration requires Windows 2000 and higher
RtlAddAccessDeniedAce  
RtlAddAce undocumented until 2000-2006;
documentation requires Windows Server 2003 SP1 and higher;
declaration requires Windows 2000 and higher
RtlAddActionToRXact  
RtlAddAttributeActionToRXact  
RtlAddAuditAccessAce  
RtlAdjustPrivilege  
RtlAllocateAndInitializeSid undocumented until 2000-2006;
documented as “reserved for system use”;
declaration requires Windows 2000 and higher
RtlAllocateHeap undocumented until 2000-2006;
forwarded from KERNEL32 function HeapAlloc in 3.51 and higher;
forwarded from KERNELBASE function HeapAlloc in 6.1 and higher;
documentation requires Windows XP and higher;
declaration requires Windows 2000 and higher
RtlAnsiCharToUnicodeChar undocumented until 2008-2009;
documentation requires Windows 2000 and higher;
not declared
RtlAnsiStringToUnicodeSize redefined by macro in terms of NlsMbCodePageTag and RtlxAnsiStringToUnicodeSize
RtlAnsiStringToUnicodeString undocumented in SDK until settlement in 2002;
documentation in SDK requires Windows 2000 and higher;
declaration in WDK requires Windows 2000 and higher
RtlAppendAsciizToString  
RtlAppendStringToString undocumented until 2000;
documentation since 2008-2009 requires Windows 2000 and higher;
declaration requires Windows 2000 and higher
RtlAppendUnicodeStringToString declaration requires Windows 2000 and higher
RtlAppendUnicodeToString declaration requires Windows 2000 and higher
RtlApplyRXact  
RtlApplyRXactNoFlush  
RtlAreAllAccessesGranted  
RtlAreAnyAccessesGranted  
RtlAreBitsClear undocumented until 1996-2000;
declaration requires Windows 2000 and higher
RtlAreBitsSet undocumented until 1996-2000;
declaration requires Windows 2000 and higher
RtlAssert undocumented until 2001-2002;
documented as “reserved for system use”
RtlCaptureStackBackTrace forwarded from KERNEL32 function CaptureStackBackTrace in 5.1 to 6.0;
undocumented in WDK until 2008-2009;
documentation in WDK requires Windows XP and higher;
declaration in WDK requires Windows XP and higher
RtlCharToInteger undocumented in SDK until settlement in 2002;
documentation in SDK requires Windows 2000 and higher;
declaration in WDK requires Windows 2000 and higher
RtlCheckRegistryKey declaration requires Windows 2000 and higher
RtlClearAllBits undocumented until 1996-2000;
declaration requires Windows 2000 and higher
RtlClearBits undocumented until 1996-2000;
declaration requires Windows 2000 and higher
RtlCompactHeap whole implementation of KERNEL32 function HeapCompact in 3.51 to 6.0
RtlCompareMemory forwarded from KERNEL32 in corresponding 5.2, and higher (x64 only);
undocumented in SDK until settlement in 2002 (but long documented in WDK);
documentation withdrawn from SDK in 2004-2006;
documentation in SDK requires Windows 2000 and higher;
declaration in WDK requires Windows 2000 and higher
RtlCompareMemoryUlong undocumented until 2000;
declaration requires Windows 2000 and higher
RtlCompareString declaration requires Windows 2000 and higher
RtlCompareUnicodeString declaration requires Windows 2000 and higher
RtlCompressBuffer undocumented until 2000-2006;
documented until 2007 as “reserved for system use”;
documentation since 2007 requires Windows XP and higher;
declaration requires Windows XP and higher
RtlConsoleMultiByteToUnicodeN  
RtlConvertExclusiveToShared  
RtlConvertLongToLargeInteger x86 only;
declared as deprecated for Windows XP and higher
RtlConvertSharedToExclusive  
RtlConvertSidToUnicodeString undocumented until settlement in 2002;
undocumented in WDK until 2008-2009;
documentation requires Windows 2000 and higher;
declaration in WDK requires Windows 2000 and higher
RtlConvertUiListToApiList discontinued in 6.3
RtlConvertUlongToLargeInteger x86 only;
declared as deprecated for Windows XP and higher
RtlCopyLuid undocumented until 2000;
declaration requires Windows 2000 and higher
RtlCopyLuidAndAttributesArray  
RtlCopySecurityDescriptor  
RtlCopySid undocumented until 2000;
declaration requires Windows 2000 and higher
RtlCopySidAndAttributesArray  
RtlCopyString declaration requires Windows 2000 and higher
RtlCopyUnicodeString declaration requires Windows 2000 and higher
RtlCreateAcl undocumented until 2000;
declaration requires Windows 2000 and higher
RtlCreateAndSetSD  
RtlCreateEnvironment  
RtlCreateHeap undocumented until 2000-2006;
documentation requires Microsoft Windows XP and higher;
declaration requires Windows XP and higher
RtlCreateProcessParameters  
RtlCreateQueryDebugBuffer  
RtlCreateRegistryKey declaration requires Windows 2000 and higher
RtlCreateSecurityDescriptor declaration requires Windows 2000 and higher
RtlCreateTagHeap  
RtlCreateUnicodeString undocumented until 2000;
documentation since 2000-2006 requires Windows 2000 and higher;
declaration requires Windows 2000 and higher
RtlCreateUnicodeStringFromAsciiz  
RtlCreateUserProcess  
RtlCreateUserSecurityObject  
RtlCreateUserThread  
RtlCustomCPToUnicodeN undocumented until 2000-2006;
documented as “reserved for system use”;
declaration requires Windows 2000 and higher
RtlCutoverTimeToSystemTime declared in Windows 10 WDK
RtlDeNormalizeProcessParams  
RtlDecompressBuffer undocumented until 2000-2006;
documented until 2007 as “reserved for system use”;
documentation since 2007 requires Windows XP and higher;
declaration requires Windows XP and higher
RtlDecompressFragment undocumented until 2000-2006;
documented until 2007 as “reserved for system use”;
documentation since 2007 requires Windows XP and higher;
declaration requires Windows XP and higher
RtlDelete undocumented until 2000;
declaration requires Windows 2000 and higher
RtlDeleteAce undocumented until 2000-2006;
documentation requires Windows Server 2003 SP1, and higher;
declaration requires Windows 2000 and higher
RtlDeleteCriticalSection whole implementation of KERNEL32 function DeleteCriticalSection in 3.51;
forwarded from KERNEL32 function DeleteCriticalSection in 4.0 and higher;
forwarded from KERNELBASE function DeleteCriticalSection in 6.1 and higher
RtlDeleteElementGenericTable undocumented until 2000;
declaration requires Windows 2000 and higher;
conditionally redefined by macro as RtlDeleteElementGenericTableAvl
RtlDeleteRegistryValue declaration requires Windows 2000 and higher
RtlDeleteResource  
RtlDeleteSecurityObject  
RtlDestroyEnvironment  
RtlDestroyHeap undocumented until 2000-2006;
documentation requires Windows XP and higher;
declaration requires Windows XP and higher
RtlDestroyProcessParameters  
RtlDestroyQueryDebugBuffer  
RtlDetermineDosPathNameType_U  
RtlDoesFileExists_U  
RtlDosPathNameToNtPathName_U  
RtlDosSearchPath_U  
RtlDumpResource  
RtlEnlargedIntegerMultiply x86 only;
documented as obsolete;
declared as deprecated
RtlEnlargedUnsignedDivide x86 only;
discontinued in 6.2;
documented as obsolete;
declared as deprecated
RtlEnlargedUnsignedMultiply x86 only;
documented as obsolete;
declared as deprecated
RtlEnterCriticalSection forwarded from KERNEL32 function EnterCriticalSection in 4.0 and higher;
forwarded from KERNELBASE function EnterCriticalSection in 6.1 and higher
RtlEnumProcessHeaps  
RtlEnumerateGenericTable undocumented until 2000;
declaration requires Windows 2000 and higher;
conditionally redefined by macro as RtlEnumerateGenericTableAvl
RtlEnumerateGenericTableWithoutSplaying undocumented until 2000;
declaration requires Windows 2000 and higher;
conditionally redefined by macro as RtlEnumerateGenericTableWithoutSplayingAvl
RtlEqualComputerName  
RtlEqualDomainName  
RtlEqualLuid undocumented until 1996-2000;
redefined by macro
RtlEqualPrefixSid undocumented until 2000;
declaration requires Windows 2000 and higher
RtlEqualSid undocumented until 2000;
declaration requires Windows 2000 and higher
RtlEqualString declaration requires Windows 2000 and higher
RtlEqualUnicodeString declaration requires Windows 2000 and higher
RtlEraseUnicodeString  
RtlExpandEnvironmentStrings_U  
RtlExtendHeap discontinued in 6.0
RtlExtendedIntegerMultiply x86 only;
undocumented in SDK until settlement in 2002 (but long documented in WDK);
documentation withdrawn from SDK in 2003-2006 but persists in MSDN Library until 2007-2008;
documented as obsolete;
x86 declaration in WDK requires Windows 2000 and higher, and is deprecated;
x64 supported in WDK by inline definition using 64-bit arithmetic, and is deprecated
RtlExtendedLargeIntegerDivide x86 only;
undocumented in SDK until settlement in 2002 (but long documented in WDK);
documentation withdrawn from SDK in 2003-2006 but persists in MSDN Library until 2007-2008;
documented as obsolete;
x86 declaration in WDK requires Windows 2000 and higher, and is deprecated;
x64 supported in WDK by inline definition using 64-bit arithmetic, and is deprecated
RtlExtendedMagicDivide x86 only;
documented as obsolete;
x86 declaration requires Windows 2000 and higher, and is deprecated;
x64 supported by inline definition using 64-bit arithmetic, and is deprecated
RtlFillMemory forwarded from KERNEL32 in 3.51 to 6.0;
redefined by macro in terms of memset function
RtlFillMemoryUlong x86 only;
undocumented until 2000;
x86 declaration requires Windows XP and higher;
x64 supported by inline definition using compiler intrinsic __stosq
RtlFindClearBits undocumented until 1996-2000;
declaration requires Windows 2000 and higher
RtlFindClearBitsAndSet undocumented until 1996-2000;
declaration requires Windows 2000 and higher
RtlFindLongestRunClear undocumented until 1996-2000;
declaration requires Windows 2000 and higher
RtlFindLongestRunSet discontinued in 5.0
RtlFindMessage  
RtlFindSetBits undocumented until 1996-2000;
declared for Windows 2000 and higher
RtlFindSetBitsAndClear undocumented until 1996-2000;
declared for Windows 2000 and higher
RtlFirstFreeAce  
RtlFormatCurrentUserKeyPath  
RtlFormatMessage  
RtlFreeAnsiString undocumented in SDK until 2001-2002 (but long documented in the WDK);
documentation in SDK requires Windows 2000 and higher;
declaration in WDK requires Windows 2000 and higher
RtlFreeHeap forwarded from KERNEL32 function HeapFree in 3.51 to 5.2;
forwarded from KERNELBASE function HeapFree in 6.1 and higher;
undocumented until 2000-2006;
documentation requires Windows XP and higher;
declaration requires Windows 2000 and higher
RtlFreeOemString undocumented in WDK until 2000;
undocumented in SDK until 2001-2002;
documentation in SDK requires Windows 2000 and higher;
declaration in WDK requires Windows 2000 and higher
RtlFreeSid undocumented until 2000-2006;
documented as “reserved for system use”;
declaration requires Windows 2000 and higher
RtlFreeUnicodeString undocumented in SDK until 2001-2002 (but long documented in the WDK);
documentation in SDK requires Windows 2000 and higher
RtlGenerate8dot3Name undocumented until 2000;
declaration requires Windows 2000 and higher;
different return type declared for Windows Vista SP1, and higher
RtlGetAce undocumented until 2000-2006;
documentation requires Windows XP and higher;
declaration requires Windows 2000 and higher
RtlGetCallersAddress undocumented until 2000-2001;
documented as “reserved for system use”;
declaration requires Windows 2000 and higher;
conditional redefinition by macro in terms of compiler intrinsic _ReturnAddress (x64)
RtlGetCompressionWorkSpaceSize undocumented until 2000-2006;
documented until 2007 as “reserved for system use”;
documentation since 2007 requires Windows XP and higher;
declaration requires Windows XP and higher
RtlGetControlSecurityDescriptor  
RtlGetCurrentDirectory_U  
RtlGetDaclSecurityDescriptor undocumented until 2000-2006;
documentation requires Windows Server 2003 SP1, and higher;
declaration requires Windows 2000 and higher
RtlGetElementGenericTable undocumented until 2000;
declaration requires Windows 2000 and higher;
conditionally redefined by macro as RtlGetElementGenericTableAvl
RtlGetFullPathName_U  
RtlGetGroupSecurityDescriptor undocumented until 2000-2006;
documentation requires Windows Server 2003 SP1, and higher;
declaration requires Windows Server 2003 SP1, and higher
RtlGetLongestNtPathLength  
RtlGetNtGlobalFlags  
RtlGetNtProductType  
RtlGetOwnerSecurityDescriptor undocumented until 2000;
documentation since 2000-2006 requires Windows 2000 and higher;
declaration requires Windows 2000 and higher
RtlGetProcessHeaps whole implementation of KERNEL32 function GetProcessHeaps in 3.51 to 6.0;
whole implementation of KERNELBASE function GetProcessHeaps in 6.1 and higher
RtlGetSaclSecurityDescriptor undocumented until 2000-2006;
documentation requires Windows Server 2003 SP1, and higher;
declaration requires Windows Server 2003 SP1, and higher
RtlGetUserInfoHeap  
RtlIdentifierAuthoritySid undocumented until 2000-2006;
documented as “reserved for system use”;
declaration requires Windows XP and higher
RtlImageDirectoryEntryToData  
RtlImageNtHeader declared in Windows 10 WDK
RtlImpersonateSelf  
RtlInitAnsiString undocumented in SDK until settlement in 2002 (but long documented in WDK);
documentation withdrawn from SDK in 2004-2006;
documentation in SDK requires Windows 2000 and higher;
declaration in WDK requires Windows 2000 and higher
RtlInitCodePageTable undocumented until 2000-2006;
documented as “reserved for system use”;
declaration requires Windows 2000 and higher
RtlInitNlsTables  
RtlInitString undocumented in SDK until 2001-2002 (but long documented in WDK);
documentation in SDK requires Windows 2000 and higher;
declaration in WDK requires Windows 2000 and higher
RtlInitUnicodeString undocumented in SDK until settlement i 2002 (but long documented in WDK);
documentation in SDK requires Windows 2000 and higher
RtlInitializeBitMap undocumented until 1996-2000;
declaration requires Windows 2000 and higher
RtlInitializeContext  
RtlInitializeCriticalSection forwarded from KERNEL32 function InitializeCriticalSection in 6.0 and higher;
forwarded from KERNELBASE function InitializeCriticalSection in 6.1 and higher
RtlInitializeGenericTable undocumented until 2000;
documentation in 2008-2009 requires Windows 2000 and higher;
declaration requires Windows 2000 and higher;
conditionally redefined by macro as RtlInitializeGenericTableAvl
RtlInitializeRXact  
RtlInitializeResource  
RtlInitializeSid undocumented until 2000;
documentation since 2000-2006 requires Windows 2000 and higher;
declaration requires Windows 2000 and higher
RtlInsertElementGenericTable undocumented until 2000;
declaration requires Windows 2000 and higher;
conditionally redefined by macro as RtlInsertElementGenericTableAvl
RtlIntegerToChar  
RtlIntegerToUnicodeString declaration requires Windows 2000 and higher
RtlIsDosDeviceName_U  
RtlIsGenericTableEmpty undocumented until 2000;
documentation since 2000-2006 requires Windows 2000 and higher;
declaration requires Windows 2000 and higher;
conditionally redefined by macro as RtlIsGenericTableEmptyAvl
RtlIsNameLegalDOS8Dot3 undocumented until 2000;
undocumented in SDK until settlement in 2002;
documentation in SDK requires Windows 2000 and higher;
declaration in WDK requires Windows 2000 and higher
RtlIsTextUnicode  
RtlLargeIntegerAdd x86 only;
documented as obsolete;
declared as deprecated
RtlLargeIntegerArithmeticShift x86 only;
documented as obsolete;
declared as deprecated for Windows XP and higher
RtlLargeIntegerDivide x86 only;
documented as obsolete;
x86 declaration requires Windows 2000 and higher, and is deprecated;
x64 supported by inline definition using 64-bit arithmetic, and is deprecated
RtlLargeIntegerNegate x86 only;
documented as obsolete;
declared as deprecated
RtlLargeIntegerShiftLeft x86 only;
documented as obsolete;
declared as deprecated for Windows XP and higher
RtlLargeIntegerShiftRight x86 only;
documented as obsolete;
declared as deprecated for Windows XP and higher
RtlLargeIntegerSubtract x86 only;
documented as obsolete;
declared as deprecated
RtlLargeIntegerToChar  
RtlLeaveCriticalSection forwarded from KERNEL32 function LeaveCriticalSection in 4.0 and higher;
forwarded from KERNELBASE function LeaveCriticalSection in 6.1 and higher
RtlLengthRequiredSid undocumented until 2000;
documentation since 2000-2006 requires Windows 2000 and higher;
declaration requires Windows 2000 and higher
RtlLengthSecurityDescriptor declaration requires Windows 2000 and higher
RtlLengthSid undocumented until 2000;
declared for Windows 2000 and higher
RtlLocalTimeToSystemTime undocumented until settlement in 2002 (but long documented in WDK);
documentation requires Windows 2000 and higher
RtlLockHeap  
RtlLookupElementGenericTable undocumented until 2000;
declaration requires Windows 2000 and higher;
conditionally redefined by macro as RtlLookupElementGenericTableAvl
RtlMakeSelfRelativeSD  
RtlMapGenericMask undocumented until 2001-2002;
declaration requires Windows 2000 and higher
RtlMoveMemory forwarded from KERNEL32 in 3.51 and higher (x86 only);
redefined by macro in terms of memmove function
RtlMultiByteToUnicodeN undocumented until 2000;
declaration requires Windows 2000 and higher
RtlMultiByteToUnicodeSize undocumented until 2000;
declaration requires Windows 2000 and higher
RtlNewInstanceSecurityObject  
RtlNewSecurityGrantedAccess  
RtlNewSecurityObject  
RtlNormalizeProcessParams  
RtlNtStatusToDosError undocumented in SDK until settlement in 2002;
undocumented in WDK until 2000-2006;
documentation in SDK requires Windows 2000 and higher;
documented in WDK until 2007 as “reserved for system use”;
documentation in WDK since 2007 requires Windows 2000 and higher;
declaration in WDK requires Windows 2000 and higher
RtlNumberGenericTableElements undocumented until 2000;
declaration requires Windows 2000 and higher;
conditionally redefined by macro as RtlNumberGenericElementsAvl
RtlNumberOfClearBits undocumented until 1996-2000;
declaration requires Windows 2000 and higher
RtlNumberOfSetBits undocumented until 1996-2000;
declaration requires Windows 2000 and higher
RtlOemStringToUnicodeSize undocumented until 2000;
redefined by macro in terms of NlsMbOemCodePageTag and RtlxOemStringToUnicodeSize
RtlOemStringToUnicodeString undocumented until 2000;
declaration requires Windows 2000 and higher
RtlOemToUnicodeN undocumented until 2000;
declaration requires Windows 2000 and higher
RtlOpenCurrentUser  
RtlPcToFileHeader forwarded from KERNEL32 function RtlPcToFileHeader in 5.2 and 6.0 (x64 only)
RtlPrefixString declared in Windows 10 WDK
RtlPrefixUnicodeString undocumented until 1996-2000;
declaration requires Windows 2000 and higher
RtlProtectHeap  
RtlQueryEnvironmentVariable_U  
RtlQueryInformationAcl  
RtlQueryProcessBackTraceInformation  
RtlQueryProcessDebugInformation  
RtlQueryProcessHeapInformation  
RtlQueryProcessLockInformation  
RtlQueryRegistryValues undocumented in SDK until settlement in 2002 (but long documented in WDK);
documentation in SDK requires Windows 2000 and higher;
documentation withdrawn from SDK in 2004-2006;
declaration in WDK requires Windows 2000 and higher
RtlQuerySecurityObject  
RtlQueryTagHeap  
RtlQueryTimeZoneInformation  
RtlRaiseException forwarded from KERNEL32 function RtlRaiseException in 5.2 and 6.0 (x64 only);
declared in Windows 10 SDK
RtlRaiseStatus  
RtlRandom undocumented until 2000;
declaration requires Windows 2000 and higher
RtlReAllocateHeap forwarded from KERNEL32 function HeapReAlloc in 3.51 and higher;
forwarded from KERNELBASE function HeapReAlloc in 6.1 and higher
RtlRealPredecessor undocumented until 2000;
documentation since 2000-2006 requires Windows 2000 and higher;
declaration requires Windows 2000 and higher
RtlRealSuccessor undocumented until 2000;
documentation since 2000-2006 requires Windows 2000 and higher;
declaration requires Windows 2000 and higher
RtlReleasePebLock  
RtlReleaseResource  
RtlRemoteCall  
RtlResetRtlTranslations  
RtlRunDecodeUnicodeString  
RtlRunEncodeUnicodeString  
RtlSecondsSince1970ToTime undocumented until 2000;
declaration requires Windows 2000 and higher
RtlSecondsSince1980ToTime undocumented until 2000;
declaration requires Windows 2000 and higher
RtlSelfRelativeToAbsoluteSD undocumented until 2000-2006;
documentation requires Windows Server 2003 SP1, and higher;
declaration requires Windows Server 2003 SP1, and higher
RtlSetAllBits undocumented until 1996-2000;
declaration requires Windows 2000 and higher
RtlSetBits undocumented until 1996-2000;
declaration requires Windows 2000 and higher
RtlSetCurrentDirectory_U  
RtlSetCurrentEnvironment  
RtlSetDaclSecurityDescriptor declaration requires Windows 2000 and higher
RtlSetEnvironmentVariable  
RtlSetGroupSecurityDescriptor undocumented until 2000-2006;
documentation requires Windows Server 2003 SP1, and higher;
declaration requires Windows Server 2003 SP1, and higher
RtlSetInformationAcl  
RtlSetOwnerSecurityDescriptor undocumented until 2000;
declaration requires Windows 2000 and higher
RtlSetSaclSecurityDescriptor  
RtlSetSecurityObject  
RtlSetTimeZoneInformation  
RtlSetUserFlagsHeap  
RtlSetUserValueHeap  
RtlSizeHeap forwarded from KERNEL32 function HeapSize in 3.51 and higher;
forwarded from KERNELBASE function HeapSize in 6.1 and higher
RtlSplay undocumented until 2000;
declaration requires Windows 2000 and higher
RtlStartRXact  
RtlSubAuthorityCountSid undocumented until 2000-2006;
documented as “reserved for system use”;
declaration requires Windows XP and higher
RtlSubAuthoritySid undocumented until 2000;
documentation since 2000-2006 requires Windows 2000 and higher;
declaration requires Windows 2000 and higher
RtlSubtreePredecessor undocumented until 2000;
documentation since 2000-2006 requires Windows 2000 and higher;
declaration requires Windows 2000 and higher
RtlSubtreeSuccessor undocumented until 2000;
documentation since 2000-2006 requires Windows 2000 and higher;
declaration requires Windows 2000 and higher
RtlSystemTimeToLocalTime declared in Windows 10 WDK
RtlTimeFieldsToTime declaration requires Windows 2000 and higher
RtlTimeToElapsedTimeFields declared in Windows 10 WDK
RtlTimeToSecondsSince1970 undocumented in WDK until 2000;
undocumented in SDK until settlement in 2002;
documentation in SDK requires Windows 2000 and higher;
declaration in WDK requires Windows 2000 and higher
RtlTimeToSecondsSince1980 undocumented until 2000;
declaration requires Windows 2000 and higher
RtlTimeToTimeFields declaration requires Windows 2000 and higher
RtlUnicodeStringToAnsiSize undocumented until 1996-2000;
redefined by macro in terms of NlsMbCodePageTag and RtlxUnicodeStringToAnsiSize
RtlUnicodeStringToAnsiString undocumented in SDK until settlement in 2002 (but long documented in WDK);
documentation in SDK requires Windows 2000 and higher;
declaration in WDK requires Windows 2000 and higher
RtlUnicodeStringToCountedOemString undocumented until 2000;
declaration requires Windows 2000 and higher
RtlUnicodeStringToInteger declaration requires Windows 2000 and higher
RtlUnicodeStringToOemSize undocumented until 2000;
redefined by macro in terms of NlsMbOemCodePageTag and RtlxUnicodeStringToOemSize
RtlUnicodeStringToOemString undocumented in WDK until 2000;
undocumented in SDK until 2001-2002;
documentation in SDK requires Windows 2000 and higher;
declaration in WDK requires Windows 2000 and higher
RtlUnicodeToCustomCPN undocumented until 2000-2006;
documented as “reserved for system use”;
declaration requires Windows 2000 and higher
RtlUnicodeToMultiByteN undocumented until 2000;
declaration requires Windows 2000 and higher
RtlUnicodeToMultiByteSize undocumented in WDK until 2000;
undocumented in SDK until settlement in 2002;
documentation in SDK requires Windows 2000 and higher;
declaration in WDK requires Windows 2000 and higher
RtlUnicodeToOemN undocumented until 2000;
declaration requires Windows 2000 and higher
RtlUniform undocumented until settlement in 2002;
documentation until 2006-2007 requires at least Windows 2000;
documentation withdrawn from SDK in 2003-2006 (but persists in MSDN Library until 2007-2008);
declared in Windows 10 SDK
RtlUnlockHeap  
RtlUnwind forwarded from KERNEL32 function RtlUnwind in 3.51 to 6.0
RtlUpcaseUnicodeChar undocumented until 1996-2000;
declaration requires Windows 2000 and higher
RtlUpcaseUnicodeString declaration requires Windows 2000 and higher
RtlUpcaseUnicodeStringToAnsiString  
RtlUpcaseUnicodeStringToCountedOemString undocumented until 2000;
declaration requires Windows 2000 and higher
RtlUpcaseUnicodeStringToOemString undocumented until 2000;
declaration requires Windows 2000 and higher
RtlUpcaseUnicodeToCustomCPN undocumented until 2000-2006;
documented as “reserved for system use”;
declaration requires Windows 2000 and higher
RtlUpcaseUnicodeToMultiByteN undocumented until 2000;
declaration requires Windows 2000 and higher
RtlUpcaseUnicodeToOemN undocumented until 2000;
declaration requires Windows 2000 and higher
RtlUpperChar undocumented until 1996-2000;
declaration requires Windows 2000 and higher
RtlUpperString declaration requires Windows 2000 and higher
RtlUsageHeap discontinued in 6.0
RtlValidAcl  
RtlValidSecurityDescriptor declaration requires Windows 2000 and higher
RtlValidSid undocumented until 2000;
declaration requires Windows 2000 and higher
RtlValidateHeap  
RtlValidateProcessHeaps  
RtlWalkHeap  
RtlWriteRegistryValue declaration requires Windows 2000 and higher
RtlZeroHeap  
RtlZeroMemory forwarded from KERNEL32 in 3.51 and higher;
redefined by macro in terms of memset function
RtlpInitializeRtl discontinued in 4.0
RtlpNtCreateKey  
RtlpNtEnumerateSubKey  
RtlpNtMakeTemporaryKey  
RtlpNtOpenKey  
RtlpNtQueryValueKey  
RtlpNtSetValueKey  
RtlpUnWaitCriticalSection  
RtlpWaitForCriticalSection  
RtlxAnsiStringToUnicodeSize undocumented until 2005-2006;
declaration requires Windows 2000 and higher
RtlxOemStringToUnicodeSize undocumented until 2007;
documented as “reserved for system use”
RtlxUnicodeStringToAnsiSize undocumented until 1996-2000;
declaration requires Windows 2000 and higher
RtlxUnicodeStringToOemSize undocumented until 2007;
documented as “reserved for system use”
SaveEm87Context discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
ZwAcceptConnectPort declared in Windows 10 WDK
ZwAccessCheck declared in Windows 10 WDK
ZwAccessCheckAndAuditAlarm declared in Windows 10 WDK
ZwAdjustGroupsToken declared in Windows 10 WDK
ZwAdjustPrivilegesToken declared in Windows 10 WDK
ZwAlertResumeThread declared in Windows 10 WDK
ZwAlertThread declared in Windows 10 WDK
ZwAllocateLocallyUniqueId undocumented until 2005-2006
ZwAllocateUuids declared in Windows 10 WDK
ZwAllocateVirtualMemory undocumented until 2000;
declaration requires Windows 2000 and higher
ZwCallbackReturn declared in Windows 10 WDK
ZwCancelIoFile declared in Windows 10 WDK
ZwCancelTimer undocumented until 2005-2006;
documented as “reserved for system use”;
declaration requires Windows 2000 and higher
ZwClearEvent declared in Windows 10 WDK
ZwClose declaration requires Windows 2000 and higher
ZwCloseObjectAuditAlarm declared in Windows 10 WDK
ZwCompleteConnectPort declared in Windows 10 WDK
ZwConnectPort declared in Windows 10 WDK
ZwContinue declared in Windows 10 WDK
ZwCreateDirectoryObject declaration requires Windows 2000 and higher
ZwCreateEvent undocumented until 2000-2006;
documentation requires Windows XP and higher;
declaration requires Windows 2000 and higher
ZwCreateEventPair declared in Windows 10 WDK
ZwCreateFile documentation since 2008-2009 requires Windows 2000 and higher;
declaration requires Windows 2000 and higher
ZwCreateIoCompletion declared in Windows 10 WDK
ZwCreateKey declaration requires Windows 2000 and higher
ZwCreateMailslotFile declared in Windows 10 WDK
ZwCreateMutant declared in Windows 10 WDK
ZwCreateNamedPipeFile declared in Windows 10 WDK
ZwCreatePagingFile declared in Windows 10 WDK
ZwCreatePort declared in Windows 10 WDK
ZwCreateProcess declared in Windows 10 WDK
ZwCreateProfile declared in Windows 10 WDK
ZwCreateSection undocumented until 2000;
declaration requires Windows 2000 and higher
ZwCreateSemaphore declared in Windows 10 WDK
ZwCreateSymbolicLinkObject declared in Windows 10 WDK
ZwCreateThread declared in Windows 10 WDK
ZwCreateTimer undocumented until 2005-2006;
documented as “reserved for system use”;
declaration requires Windows 2000 and higher
ZwCreateToken declared in Windows 10 WDK
ZwDelayExecution declared in Windows 10 WDK
ZwDeleteFile undocumented until 2000-2006;
documentation requires XP and higher;
declaration requires Windows 2000 and higher
ZwDeleteKey declaration requires Windows 2000 and higher
ZwDeleteValueKey undocumented until 2002-2004;
documentation under Installable File Systems requires Windows XP and later;
documentation since 2008-2009 requires Windows 2000 and later;
declaration requires Windows 2000 and higher
ZwDeviceIoControlFile undocumented until 2000;
declaration requires Windows 2000 and higher
ZwDisplayString declaration requires Windows 2000 and higher
ZwDuplicateObject undocumented until 2000-2006;
documented as “reserved for system use”;
declaration requires Windows 2000 and higher
ZwDuplicateToken undocumented until 2007;
documentation requires Windows 2000 and higher;
declaration requires Windows 2000 and higher
ZwEnumerateBus discontinued in 4.0
ZwEnumerateKey declaration requires Windows 2000 and higher
ZwEnumerateValueKey declaration requires Windows 2000 and higher
ZwExtendSection declared in Windows 10 WDK
ZwFlushBuffersFile undocumented until 2000-2006;
declaration requires Windows Vista and higher
ZwFlushInstructionCache declared in Windows 10 WDK
ZwFlushKey declaration requires Windows 2000 and higher
ZwFlushVirtualMemory undocumented until 2000-2006;
documentation requires Windows XP and higher;
declaration requires Windows 2000 and higher
ZwFlushWriteBuffer declared in Windows 10 WDK
ZwFreeVirtualMemory undocumented until 2000;
declaration requires Windows 2000 and higher
ZwFsControlFile undocumented until 2000-2006;
declaration requires Windows 2000 and higher
ZwGetContextThread declared in Windows 10 WDK
ZwGetPlugPlayEvent discontinued in 6.2
ZwGetTickCount discontinued in 5.1
ZwImpersonateClientOfPort declared in Windows 10 WDK
ZwImpersonateThread declared in Windows 10 WDK
ZwInitializeRegistry declared in Windows 10 WDK
ZwListenPort declared in Windows 10 WDK
ZwLoadDriver undocumented until 2000-2006;
documentation requires Windows XP and higher;
declaration requires Windows 2000 and higher
ZwLoadKey declared in Windows 10 WDK
ZwLockFile undocumented until 2008-2009;
documentation requires Windows 7 and higher;
declaration requires Windows Vista and higher
ZwLockVirtualMemory declared in Windows 10 WDK
ZwMakeTemporaryObject declaration requires Windows 2000 and higher
ZwMapViewOfSection declaration requires Windows 2000 and higher
ZwNotifyChangeDirectoryFile declared in Windows 10 WDK
ZwNotifyChangeKey undocumented until 2007;
documentation requires Windows XP and higher;
declaration requires Windows 2000 and higher
ZwOpenDirectoryObject undocumented until 2000-2006;
documentation requires Windows XP and higher;
declaration requires Windows 2000 and higher
ZwOpenEvent undocumented until 2000-2006;
documentation requires Windows Server 2003 and higher;
declaration requires Windows Server 2003 and higher
ZwOpenEventPair declared in Windows 10 WDK
ZwOpenFile undocumented until 1996-2000;
declaration requires Windows 2000 and higher
ZwOpenIoCompletion declared in Windows 10 WDK
ZwOpenKey declaration requires Windows 2000 and higher
ZwOpenMutant declared in Windows 10 WDK
ZwOpenObjectAuditAlarm declared in Windows 10 WDK
ZwOpenProcess undocumented until 2005-2006
ZwOpenProcessToken declared in Windows 10 WDK
ZwOpenSection declaration requires Windows 2000 and higher
ZwOpenSemaphore declared in Windows 10 WDK
ZwOpenSymbolicLinkObject undocumented until 1996-2000;
Windows 2000 and higher
ZwOpenThread declared in Windows 10 WDK
ZwOpenThreadToken declared in Windows 10 WDK
ZwOpenTimer undocumented until 2005-2006;
documented as “reserved for system use”;
declaration requires Windows 2000 and higher
ZwPlugPlayControl declared in Windows 10 WDK
ZwPrivilegeCheck declared in Windows 10 WDK
ZwPrivilegeObjectAuditAlarm declared in Windows 10 WDK
ZwPrivilegedServiceAuditAlarm declared in Windows 10 WDK
ZwProtectVirtualMemory declared in Windows 10 WDK
ZwPulseEvent declared in Windows 10 WDK
ZwQueryAttributesFile declared in Windows 10 WDK
ZwQueryDefaultLocale declared in Windows 10 WDK
ZwQueryDirectoryFile undocumented until 2000;
documentation since 2000-2006 requires Windows XP and higher;
declaration requires Windows 2000 and higher
ZwQueryDirectoryObject declared in Windows 10 WDK
ZwQueryEaFile  
ZwQueryEvent declared in Windows 10 WDK
ZwQueryInformationFile declaration requires Windows 2000 and higher
ZwQueryInformationPort declared in Windows 10 WDK
ZwQueryInformationProcess undocumented until 2004-2006;
documentation requires Windows 2000 and higher;
not declared
ZwQueryInformationThread declared in Windows 10 WDK
ZwQueryInformationToken undocumented until 2000-2006;
documentation requires Windows XP and higher;
declaration requires Windows 2000 and higher
ZwQueryIntervalProfile declared in Windows 10 WDK
ZwQueryIoCompletion declared in Windows 10 WDK
ZwQueryKey declaration requires Windows 2000 and higher
ZwQueryMutant declared in Windows 10 WDK
ZwQueryObject undocumented until 2007;
documentation requires Windows 2000 and higher;
declaration requires Windows 2000 and higher
ZwQueryPerformanceCounter declared in Windows 10 WDK
ZwQuerySection declared in Windows 10 WDK
ZwQuerySecurityObject undocumented until 2000-2006;
documentation requires Windows XP and higher;
declaration requires Windows 2000 and higher
ZwQuerySemaphore declared in Windows 10 WDK
ZwQuerySymbolicLinkObject undocumented until 1996-2000;
declaration requires Windows 2000 and higher
ZwQuerySystemEnvironmentValue declared in Windows 10 WDK
ZwQuerySystemInformation undocumented until 2004-2006;
not declared
ZwQuerySystemTime declared in Windows 10 WDK
ZwQueryTimer declared in Windows 10 WDK
ZwQueryTimerResolution declared in Windows 10 WDK
ZwQueryValueKey declaration requires Windows 2000 and higher
ZwQueryVirtualMemory declared in Windows 10 WDK
ZwQueryVolumeInformationFile undocumented until 2000-2006;
declaration requires Windows 2000 and higher
ZwRaiseException declared in Windows 10 WDK
ZwRaiseHardError declared in Windows 10 WDK
ZwReadFile declaration requires Windows 2000 and higher
ZwReadRequestData declared in Windows 10 WDK
ZwReadVirtualMemory declared in Windows 10 WDK
ZwRegisterNewDevice discontinued in 4.0
ZwRegisterThreadTerminatePort declared in Windows 10 WDK
ZwReleaseMutant declared in Windows 10 WDK
ZwReleaseProcessMutant discontinued in 4.0
ZwReleaseSemaphore declared in Windows 10 WDK
ZwRemoveIoCompletion declared in Windows 10 WDK
ZwReplaceKey declared in Windows 10 WDK
ZwReplyPort declared in Windows 10 WDK
ZwReplyWaitReceivePort declared in Windows 10 WDK
ZwReplyWaitReplyPort declared in Windows 10 WDK
ZwRequestPort declared in Windows 10 WDK
ZwRequestWaitReplyPort declared in Windows 10 WDK
ZwResetEvent declared in Windows 10 WDK
ZwRestoreKey declared in Windows 10 WDK
ZwResumeThread declared in Windows 10 WDK
ZwSaveKey declared in Windows 10 WDK
ZwSetContextThread declared in Windows 10 WDK
ZwSetDefaultHardErrorPort declared in Windows 10 WDK
ZwSetDefaultLocale declared in Windows 10 WDK
ZwSetEaFile  
ZwSetEvent undocumented until 2000-2006;
documentation requires Windows XP and higher;
declaration requires Windows 2000 and higher
ZwSetHighEventPair declared in Windows 10 WDK
ZwSetHighWaitLowEventPair declared in Windows 10 WDK
ZwSetHighWaitLowThread discontinued in 5.0
ZwSetInformationFile declaration requires Windows 2000 and higher
ZwSetInformationKey declaration requires Windows 7 and higher
ZwSetInformationObject declared in Windows 10 WDK
ZwSetInformationProcess declared in Windows 10 WDK
ZwSetInformationThread declaration requires Windows 2000 and higher
ZwSetInformationToken undocumented until 2000-2006;
documentation until 2008-2009 requires Windows XP and higher;
documentation since 2008-2009 requires Windows 7 and higher;
declaration requires Windows 7 and higher
ZwSetIntervalProfile declared in Windows 10 WDK
ZwSetIoCompletion declared in Windows 10 WDK
ZwSetLdtEntries declared in Windows 10 WDK
ZwSetLowEventPair declared in Windows 10 WDK
ZwSetLowWaitHighEventPair declared in Windows 10 WDK
ZwSetLowWaitHighThread discontinued in 5.0
ZwSetSecurityObject undocumented until 2000-2006;
documentation requires Windows XP and higher;
declaration requires Windows 2000 and higher
ZwSetSystemEnvironmentValue declared in Windows 10 WDK
ZwSetSystemInformation declared in Windows 10 WDK
ZwSetSystemPowerState declared in Windows 10 WDK
ZwSetSystemTime declared in Windows 10 WDK
ZwSetTimer undocumented until 2005-2006;
documented as “reserved for system use”;
declaration requires Windows 2000 and higher
ZwSetTimerResolution declared in Windows 10 WDK
ZwSetValueKey declaration requires Windows 2000 and higher
ZwSetVolumeInformationFile undocumented until 2000-2006;
documentation requires Windows Server 2003 and higher;
declaration requires Windows 2000 and higher
ZwShutdownSystem declared in Windows 10 WDK
ZwStartProfile declared in Windows 10 WDK
ZwStopProfile declared in Windows 10 WDK
ZwSuspendThread declared in Windows 10 WDK
ZwSystemDebugControl declared in Windows 10 WDK
ZwTerminateProcess undocumented until 2005-2006
ZwTerminateThread declared in Windows 10 WDK
ZwTestAlert declared in Windows 10 WDK
ZwUnloadDriver undocumented until 2000-2006;
documentation requires Windows XP and higher;
declaration requires Windows 2000 and higher
ZwUnloadKey declared in Windows 10 WDK
ZwUnlockFile undocumented until 2008-2009;
documentation requires Windows 7 and higher;
declaration requires Windows Vista and higher
ZwUnlockVirtualMemory declared in Windows 10 WDK
ZwUnmapViewOfSection declaration requires Windows 2000 and higher
ZwVdmControl  
ZwW32Call discontinued in 4.0 from Windows NT 4.0 SP4
ZwWaitForMultipleObjects declared in Windows 10 WDK
ZwWaitForProcessMutant discontinued in 4.0
ZwWaitForSingleObject undocumented until 2000-2006;
documentation requires Windows XP and higher;
declaration requires Windows 2000 and higher
ZwWaitHighEventPair declared in Windows 10 WDK
ZwWaitLowEventPair declared in Windows 10 WDK
ZwWriteFile declaration requires Windows 2000 and higher
ZwWriteRequestData declared in Windows 10 WDK
ZwWriteVirtualMemory declared in Windows 10 WDK
_CIpow x86 only
__eCommonExceptions discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eEmulatorInit discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eF2XM1 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFABS discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFADD32 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFADD64 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFADDPreg discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFADDreg discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFADDtop discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFCHS discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFCOM discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFCOM32 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFCOM64 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFCOMP discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFCOMP32 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFCOMP64 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFCOMPP discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFCOS discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFDECSTP discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFDIV32 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFDIV64 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFDIVPreg discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFDIVR32 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFDIVR64 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFDIVRPreg discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFDIVRreg discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFDIVRtop discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFDIVreg discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFDIVtop discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFFREE discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFIADD16 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFIADD32 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFICOM16 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFICOM32 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFICOMP16 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFICOMP32 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFIDIV16 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFIDIV32 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFIDIVR16 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFIDIVR32 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFILD16 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFILD32 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFILD64 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFIMUL16 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFIMUL32 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFINCSTP discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFINIT discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFIST16 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFIST32 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFISTP16 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFISTP32 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFISTP64 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFISUB16 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFISUB32 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFISUBR16 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFISUBR32 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFLD1 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFLD32 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFLD64 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFLD80 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFLDCW discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFLDENV discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFLDL2E discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFLDLN2 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFLDPI discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFLDZ discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFMUL32 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFMUL64 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFMULPreg discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFMULreg discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFMULtop discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFPATAN discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFPREM discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFPREM1 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFPTAN discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFRNDINT discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFRSTOR discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFSAVE discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFSCALE discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFSIN discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFSQRT discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFST discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFST32 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFST64 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFSTCW discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFSTENV discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFSTP discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFSTP32 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFSTP64 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFSTP80 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFSTSW discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFSUB32 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFSUB64 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFSUBPreg discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFSUBR32 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFSUBR64 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFSUBRPreg discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFSUBRreg discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFSUBRtop discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFSUBreg discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFSUBtop discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFTST discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFUCOM discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFUCOMP discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFUCOMPP discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFXAM discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFXCH discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFXTRACT discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFYL2X discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eFYL2XP1 discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
__eGetStatusWord discontinued in 5.1 from Windows XP SP2;
discontinued in 5.2 from Windows Server 2003 SP1
_alloca_probe x86 only
_chkstk x86 only;
undocumented until 2001-2002
_fltused  
_ftol x86 only
_itoa  
_ltoa  
_memccpy  
_memicmp  
_snprintf  
_snwprintf  
_splitpath  
_strcmpi  
_stricmp  
_strlwr  
_strnicmp  
_strupr  
_ultoa  
_vsnprintf  
_wcsicmp  
_wcslwr  
_wcsnicmp  
_wcsupr  
abs  
atan  
atoi  
atol  
ceil  
cos  
fabs  
floor  
isalpha  
isdigit  
islower  
isprint  
isspace  
isupper  
iswalpha  
iswctype  
isxdigit  
labs  
log  
mbstowcs  
memchr  
memcmp  
memcpy  
memmove  
memset  
pow  
qsort  
sin  
sprintf  
sqrt  
sscanf  
strcat  
strchr  
strcmp  
strcpy  
strcspn  
strlen  
strncat  
strncmp  
strncpy  
strpbrk  
strrchr  
strspn  
strstr  
swprintf  
tan  
tolower  
toupper  
towlower  
towupper  
vsprintf  
wcscat  
wcschr  
wcscmp  
wcscpy  
wcscspn  
wcslen  
wcsncat  
wcsncmp  
wcsncpy  
wcspbrk  
wcsrchr  
wcsspn  
wcsstr  
wcstok discontinued in 4.0
wcstol  
wcstombs  
wcstoul