Kernel Version 5.0 Exports

The large table on this page lists the 202 exports that were added to the Windows kernel in its first release for version 5.0., i.e., for the original Windows 2000. Almost all are still exported as of version 6.0.

Additions for Windows 2000 SP1, Windows 2000 SP3 and Windows 2000 SP4 are listed separately.

Documentation status is summarised by colour coding so that more detail can be given as Remarks with less text. Functions that have their own non-trivial documentation are shown with no background colour. 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. An undocumented function that is at least declared in one or another header file from the Windows Driver Kit (WDK) is highlighted orange. Functions that appear to be completely undocumented are highlighted yellow. If a function is documented now but is known not to have been documented in the first contemporaneous Device Driver Kit (DDK), WDK or Installable File System (IFS), then it is shaded yellow to retain some of its previous status as undocumented.

Just more than 60% of these new exports for version 5.0 are nowadays documented. However, more than a sixth of these are documented only as being reserved, and one more only as obsolete. The proportion that are usefuly documented is therefore less than half. At the time these functions were documented, it does not seem to have been Microsoft’s standard practice to document which Windows versions have which kernel functions. For all documented functions in the table, including if marked as obsolete or reserved, assume that the WDK documentation either gives no version information or dates the function (correctly) to Windows 2000.

Of the undocumented, about 20% are at least declared in one or another of the WDK header files.

Function Remarks
CcGetFlushedValidData  
CcRemapBcb  
CcWaitForCurrentLazyWriterActivity  
DbgPrintReturnControlC  
ExFreePoolWithTag undocumented until 2000-2002
ExInterlockedFlushSList x86 only;
supported for x64 by macro using ExpInterlockedFlushSList
ExSemaphoreObjectType (data) mentioned since 2000-2006 in documentation of ObOpenObjectByPointer
ExSetTimerResolution  
ExUuidCreate  
FsRtlAcquireFileExclusive undocumented until 2000-2006 (IFS)
FsRtlAllocateFileLock  
FsRtlFreeFileLock  
FsRtlInsertFilterContext discontinued in 5.1
FsRtlLookupFilterContextInternal discontinued in 5.1
FsRtlLookupLastLargeMcbEntryAndIndex undocumented until 2000-2006 (IFS);
documentation requires Windows XP and higher
FsRtlNotifyVolumeEvent undocumented until 2000-2006 (IFS);
documentation requires Windows XP and higher
FsRtlReleaseFile undocumented until 2000-2006
FsRtlRemoveFilterContext discontinued in 5.1
FsRtlResetLargeMcb undocumented until 2000-2006 (IFS);
documentation requires Windows XP and higher
FsRtlTeardownFilterContexts discontinued in 5.1
InbvAcquireDisplayOwnership  
InbvCheckDisplayOwnership  
InbvDisplayString  
InbvEnableBootDriver  
InbvEnableDisplayString  
InbvInstallDisplayStringFilter  
InbvIsBootDriverInstalled  
InbvNotifyDisplayOwnershipLost  
InbvResetDisplay  
InbvSetScrollRegion  
InbvSetTextColor  
InbvSolidColorFill  
InitSafeBootMode (data) documented since 2005-2006 on WDK page Determining Whether the Operating System Is Running in Safe Mode
IoAcquireRemoveLockEx  
IoAllocateDriverObjectExtension  
IoAllocateWorkItem  
IoCancelFileOpen documented as reserved in DDK (not IFS Kit) from 2000-2002 until 2005-2006
IoCheckQuerySetFileInformation undocumented until 2000-2006 (IFS)
IoCheckQuerySetVolumeInformation undocumented until 2000-2006 (IFS)
IoCheckQuotaBufferValidity  
IoCreateDriver  
IoCreateStreamFileObjectLite undocumented until 2000-2006 (IFS)
IoDeleteDriver  
IoFreeWorkItem  
IoGetAttachedDeviceReference  
IoGetBootDiskInformation  
IoGetDeviceInterfaceAlias  
IoGetDeviceInterfaces  
IoGetDeviceProperty  
IoGetDmaAdapter  
IoGetDriverObjectExtension  
IoGetRequestorProcessId  
IoGetRequestorSessionId undocumented until 2000-2006 (IFS);
documentation requires Windows Server 2003 SP1, and higher
IoInitializeRemoveLockEx  
IoInvalidateDeviceRelations  
IoInvalidateDeviceState  
IoIsValidNameGraftingBuffer undocumented until 2000-2006 (IFS)
IoIsWdmVersionAvailable  
IoOpenDeviceInterfaceRegistryKey  
IoOpenDeviceRegistryKey  
IoPnPDeliverServicePowerNotification discontinued in 6.1
IoQueueWorkItem  
IoRegisterBootDriverReinitialization undocumented until 2000-2002
IoRegisterDeviceInterface  
IoRegisterLastChanceShutdownNotification undocumented until 2000-2002
IoRegisterPlugPlayNotification  
IoReleaseRemoveLockAndWaitEx undocumented until 2000-2002
IoReleaseRemoveLockEx  
IoReportDetectedDevice  
IoReportResourceForDetection  
IoReportTargetDeviceChange  
IoReportTargetDeviceChangeAsynchronous  
IoRequestDeviceEject  
IoReuseIrp  
IoSetDeviceInterfaceState  
IoSetIoCompletion  
IoSynchronousInvalidateDeviceRelations  
IoUnregisterPlugPlayNotification  
IoWMIAllocateInstanceIds  
IoWMIRegistrationControl  
IoWMISuggestInstanceName  
IoWMIWriteEvent  
KdDisableDebugger undocumented until 2008-2009
KdEnableDebugger undocumented until 2008-2009
KdEnteredDebugger (data)  
KeQueryActiveProcessors undocumented until 2000-2002;
not declared unless SINGLE_GROUP_LEGACY_API defined
KeQueryInterruptTime x86 only;
supported for x64 by macro to access shared user data
KeQueryPriorityThread  
KeRevertToUserAffinityThread not declared unless SINGLE_GROUP_LEGACY_API defined
KeSaveStateForHibernate (data)  
KeSetSystemAffinityThread undocumented until 2007;
not declared unless SINGLE_GROUP_LEGACY_API defined
KeStackAttachProcess undocumented until 2000-2006 (IFS)
KeUnstackDetachProcess undocumented until 2000-2006 (IFS)
KiEnableTimerWatchdog x86 only;
discontinued in 6.0
LpcPortObjectType (data)  
LpcRequestWaitReplyPort  
Mm64BitPhysicalAddress (data) undocumented until 2007;
mentioned in documentation page Performing DMA in 64-Bit Windows
MmAddPhysicalMemory  
MmAllocateContiguousMemorySpecifyCache  
MmAllocatePagesForMdl  
MmFreeContiguousMemorySpecifyCache  
MmFreePagesFromMdl  
MmGetPhysicalMemoryRanges undocumented until 2000-2002
MmGetSystemRoutineAddress undocumented until 2000-2002
MmGetVirtualForPhysical undocumented until 2000-2002
MmIsDriverVerifying undocumented until 2000-2002;
documented until 2008-2009 as reserved
MmMapUserAddressesToPage undocumented until 2000-2002
MmMapViewInSessionSpace undocumented until 2000-2002
MmProbeAndLockProcessPages undocumented until 2000-2002
MmProbeAndLockSelectedPages  
MmRemovePhysicalMemory undocumented until 2000-2002
MmTrimAllSystemPagableMemory  
MmUnmapViewInSessionSpace undocumented until 2000-2002
NlsOemCodePage (data)  
NtQueryQuotaInformationFile undocumented until 2008-2009;
documentation requires Windows 7 and higher
NtQuerySystemInformation  
NtSetEaFile  
NtSetQuotaInformationFile undocumented until 2008-2009;
documentation requires Windows 7 and higher
NtSetVolumeInformationFile undocumented until 2008-2009;
documentation requires Windows Server 2003 and higher
PoCallDriver  
PoCancelDeviceNotify  
PoRegisterDeviceNotify  
PoRegisterSystemState  
PoRequestPowerIrp  
PoSetHiberRange  
PoSetPowerState  
PoSetSystemState  
PoShutdownBugCheck  
PoStartNextPowerIrp  
PoUnregisterSystemState  
PsDisableImpersonation  
PsJobType (data)  
PsRestoreImpersonation  
PsSetLoadImageNotifyRoutine  
RtlAddRange  
RtlCaptureContext undocumented until 2000-2006 (IFS);
documented until 2008-2009 as reserved;
documentation requires Windows XP and higher
RtlCopyRangeList  
RtlDeleteAce undocumented until 2000-2006 (IFS);
documentation requires Windows Server 2003 SP1 and higher
RtlDeleteOwnersRanges  
RtlDeleteRange  
RtlFindClearRuns  
RtlFindLastBackwardRunClear  
RtlFindLeastSignificantBit  
RtlFindMostSignificantBit  
RtlFindNextForwardRunClear  
RtlFindRange  
RtlFreeRangeList  
RtlGUIDFromString  
RtlGetAce undocumented until 2000-2006 (IFS);
documentation requires Windows XP and higher
RtlGetFirstRange  
RtlGetNextRange  
RtlGetNtGlobalFlags  
RtlGetSaclSecurityDescriptor undocumented until 2000-2006 (IFS);
documentation requires Windows Server 2003 SP1, and higher;
declaration requires Windows Server 2003 SP1, and higher
RtlImageDirectoryEntryToData  
RtlInitializeRangeList  
RtlInsertElementGenericTableFull conditionally redefined by macro as RtlInsertElementGenericTableFullAvl
RtlInvertRangeList  
RtlIsGenericTableEmpty conditionally redefined by macro as RtlIIsGenericTableEmptyAvl
RtlIsRangeAvailable  
RtlIsValidOemCharacter  
RtlLookupElementGenericTableFull conditionally redefined by macro as RtlILookupElementGenericTableFullAvl
RtlMergeRangeLists  
RtlRealPredecessor  
RtlRealSuccessor  
RtlSelfRelativeToAbsoluteSD undocumented until 2000-2006 (IFS);
documentation requires Windows Server 2003 SP1, and higher;
declaration requires Windows Server 2003 SP1, and higher
RtlSelfRelativeToAbsoluteSD2  
RtlSizeHeap  
RtlStringFromGUID  
RtlSubtreePredecessor  
RtlSubtreeSuccessor  
RtlUlongByteSwap x86 only;
conditionally redefined by macro using compiler intrinsic _byteswap_ulong (x64 also)
RtlUlonglongByteSwap x86 only;
conditionally redefined by macro using compiler intrinsic _byteswap_uint64 (x64 also)
RtlUshortByteSwap x86 only;
conditionally redefined by macro using compiler intrinsic _byteswap_ushort (x64 also)
RtlValidRelativeSecurityDescriptor undocumented until 2005-2006
RtlVolumeDeviceToDosName documented since 2000-2002 as obsolete for Windows XP and higher
RtlWalkFrameChain undocumented until 2006
SeAssignSecurityEx  
SeCreateClientSecurityFromSubjectContext  
SeImpersonateClientEx  
SeQueryInformationToken  
SeQuerySessionIdToken undocumented until 2000-2006 (IFS)
SeSetSecurityDescriptorInfoEx  
SeTokenIsAdmin  
SeTokenIsRestricted  
ZwAdjustPrivilegesToken  
ZwCancelIoFile  
ZwCancelTimer undocumented until 2005-2006
ZwFlushVirtualMemory undocumented until 2000-2006 (IFS);
documentation requires Windows XP and higher
ZwInitiatePowerAction  
ZwOpenTimer undocumented until 2005-2006
ZwPowerInformation  
ZwQueryDefaultUILanguage  
ZwQueryDirectoryObject  
ZwQueryEaFile  
ZwQueryInstallUILanguage  
ZwRestoreKey  
ZwSetDefaultUILanguage  
ZwSetEaFile  
ZwSetSecurityObject undocumented until 2000-2006 (IFS);
documentation requires Windows XP and higher
ZwSetVolumeInformationFile undocumented until 2000-2006 (IFS);
documentation requires Windows Server 2003 and higher
_except_handler3 x86 only
_itow