Exports Added For NTDLL 5.0

The table below lists the 161 exports that are new to NTDLL in version 5.0, i.e., Windows 2000.

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.

Function Remarks
DbgPrintReturnControlC  
LdrAlternateResourcesEnabled discontinued in 6.0
LdrFlushAlternateResourceModules  
LdrLoadAlternateResourceModule  
LdrUnloadAlternateResourceModule  
NtAccessCheckByType  
NtAccessCheckByTypeAndAuditAlarm declaration requires Windows XP and higher
NtAccessCheckByTypeResultList  
NtAccessCheckByTypeResultListAndAuditAlarm declaration requires Windows XP and higher
NtAccessCheckByTypeResultListAndAuditAlarmByHandle declaration requires Windows XP and higher
NtAllocateUserPhysicalPages  
NtAreMappedFilesTheSame  
NtAssignProcessToJobObject  
NtCancelDeviceWakeupRequest discontinued in 6.1
NtCreateJobObject  
NtCreateWaitablePort  
NtFilterToken declared in Windows 10 WDK;
declaration requires Windows XP and higher
NtFreeUserPhysicalPages  
NtGetDevicePowerState  
NtGetWriteWatch  
NtImpersonateAnonymousToken declaration requires Windows XP and higher
NtInitiatePowerAction  
NtIsSystemResumeAutomatic  
NtMapUserPhysicalPages  
NtMapUserPhysicalPagesScatter  
NtNotifyChangeMultipleKeys declared in Windows 10 SDK
NtOpenJobObject  
NtPowerInformation  
NtQueryDefaultUILanguage  
NtQueryInformationJobObject  
NtQueryInstallUILanguage  
NtQueryOpenSubKeys  
NtQueryQuotaInformationFile undocumented until 2008-2009;
documentation requires Windows 7 and higher
NtReplyWaitReceivePortEx  
NtRequestDeviceWakeup discontinued in 6.1
NtRequestWakeupLatency discontinued in 6.1
NtResetWriteWatch  
NtSaveMergedKeys  
NtSecureConnectPort  
NtSetDefaultUILanguage  
NtSetInformationJobObject  
NtSetQuotaInformationFile undocumented until 2008-2009;
documentation requires Windows 7 and higher
NtSetThreadExecutionState  
NtSetUuidSeed  
NtTerminateJobObject  
RtlAddAccessAllowedAceEx undocumented until 2008-2009;
documentation requires Windows 2000 and higher;
declaration requires Windows 2000 and higher
RtlAddAccessAllowedObjectAce  
RtlAddAccessDeniedAceEx  
RtlAddAccessDeniedObjectAce  
RtlAddAuditAccessAceEx  
RtlAddAuditAccessObjectAce  
RtlAddRange discontinued in 5.2
RtlCallbackLpcClient discontinued in 5.1
RtlCancelTimer  
RtlCheckForOrphanedCriticalSections  
RtlConvertToAutoInheritSecurityObject  
RtlCopyRangeList discontinued in 5.2
RtlCreateLpcServer discontinued in 5.1
RtlCreateTimer  
RtlCreateTimerQueue  
RtlDebugPrintTimes  
RtlDefaultNpAcl  
RtlDeleteOwnersRanges discontinued in 5.2
RtlDeleteRange discontinued in 5.2
RtlDeleteTimer  
RtlDeleteTimerQueue  
RtlDeleteTimerQueueEx  
RtlDeregisterWait  
RtlDeregisterWaitEx  
RtlDnsHostNameToComputerName  
RtlEnableEarlyCriticalSectionEventCreation  
RtlFindLastBackwardRunClear  
RtlFindLeastSignificantBit  
RtlFindMostSignificantBit  
RtlFindNextForwardRunClear  
RtlFindRange discontinued in 5.2
RtlFreeRangeList discontinued in 5.2
RtlGUIDFromString  
RtlGetFirstRange discontinued in 5.2
RtlGetNextRange discontinued in 5.2
RtlGetSecurityDescriptorRMControl  
RtlGetVersion documentation since 2001-2002 requires Windows XP and higher
RtlImpersonateLpcClient discontinued in 5.1
RtlInitializeRangeList discontinued in 5.2
RtlInt64ToUnicodeString  
RtlInvertRangeList discontinued in 5.2
RtlIsRangeAvailable discontinued in 5.2
RtlMergeRangeLists discontinued in 5.2
RtlNewSecurityObjectEx  
RtlQueueWorkItem  
RtlRegisterWait  
RtlSelfRelativeToAbsoluteSD2  
RtlSetControlSecurityDescriptor  
RtlSetIoCompletionCallback  
RtlSetSecurityDescriptorRMControl  
RtlSetSecurityObjectEx  
RtlSetThreadPoolStartFunc  
RtlSetTimer  
RtlShutdownLpcServer discontinued in 5.1
RtlStringFromGUID  
RtlTraceDatabaseAdd begins from SP1
RtlTraceDatabaseCreate begins from SP1
RtlTraceDatabaseDestroy begins from SP1
RtlTraceDatabaseEnumerate begins from SP1
RtlTraceDatabaseFind begins from SP1
RtlTraceDatabaseLock begins from SP1
RtlTraceDatabaseUnlock begins from SP1
RtlTraceDatabaseValidate begins from SP1
RtlUlongByteSwap x86 only;
conditionally redefined by macro in terms of compiler intrinsic _byteswap_ulong
RtlUlonglongByteSwap x86 only;
conditionally redefined by macro in terms of compiler intrinsic _byteswap_uint64
RtlUpdateTimer  
RtlUshortByteSwap x86 only;
conditionally redefined by macro in terms of compiler intrinsic _byteswap_ushort
RtlValidRelativeSecurityDescriptor undocumented until 2005-2006
RtlVerifyVersionInfo documentation since 2001-2002 requires Windows XP and higher
RtlWalkFrameChain undocumented until 2006-2007;
documented as “reserved for system use”
VerSetConditionMask forwarded from KERNEL32 function VerSetConditionMask in 5.0 and higher
ZwAccessCheckByType declared in Windows 10 WDK
ZwAccessCheckByTypeAndAuditAlarm declared in Windows 10 WDK
ZwAccessCheckByTypeResultList declared in Windows 10 WDK
ZwAccessCheckByTypeResultListAndAuditAlarm declared in Windows 10 WDK
ZwAccessCheckByTypeResultListAndAuditAlarmByHandle declared in Windows 10 WDK
ZwAllocateUserPhysicalPages declared in Windows 10 WDK
ZwAreMappedFilesTheSame declared in Windows 10 WDK
ZwAssignProcessToJobObject declared in Windows 10 WDK
ZwCancelDeviceWakeupRequest discontinued in 6.1
ZwCreateJobObject declared in Windows 10 WDK
ZwCreateWaitablePort declared in Windows 10 WDK
ZwFilterToken declared in Windows 10 WDK
ZwFreeUserPhysicalPages declared in Windows 10 WDK
ZwGetDevicePowerState declared in Windows 10 WDK
ZwGetWriteWatch declared in Windows 10 WDK
ZwImpersonateAnonymousToken declared in Windows 10 WDK
ZwInitiatePowerAction declared in Windows 10 WDK
ZwIsSystemResumeAutomatic  
ZwMapUserPhysicalPages declared in Windows 10 WDK
ZwMapUserPhysicalPagesScatter declared in Windows 10 WDK
ZwNotifyChangeMultipleKeys declaration requires Windows 7 and higher
ZwOpenJobObject declared in Windows 10 WDK
ZwPowerInformation  
ZwQueryDefaultUILanguage declared in Windows 10 WDK
ZwQueryInformationJobObject declared in Windows 10 WDK
ZwQueryInstallUILanguage declared in Windows 10 WDK
ZwQueryOpenSubKeys declared in Windows 10 WDK
ZwQueryQuotaInformationFile 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 Vista and higher
ZwReplyWaitReceivePortEx declared in Windows 10 WDK
ZwRequestDeviceWakeup discontinued in 6.1
ZwRequestWakeupLatency discontinued in 6.1
ZwResetWriteWatch declared in Windows 10 WDK
ZwSaveMergedKeys declared in Windows 10 WDK
ZwSecureConnectPort declared in Windows 10 WDK
ZwSetDefaultUILanguage declared in Windows 10 WDK
ZwSetInformationJobObject declared in Windows 10 WDK
ZwSetQuotaInformationFile 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 Vista and higher
ZwSetThreadExecutionState declared in Windows 10 WDK
ZwSetUuidSeed declared in Windows 10 WDK
ZwTerminateJobObject declared in Windows 10 WDK
_ui64toa  
iswdigit  
iswlower  
iswspace  
iswxdigit  

Valediction

With version 5.0, NTDLL drops 22 functions from its API: