Kernel Version 3.51 Exports

The table below lists the 854 exports from the Windows kernel in the original version 3.51. For the purpose of this study, without having found an earlier Windows NT for inspection, these functions are effectively the original kernel-mode programming interface. They make up nearly 40% of all exports from the kernel over all known versions. All but 20 of these functions are still exported as of version 6.1.

Four other functions first appeared in version 3.51 but not in the original release. These additions for version 3.51 service packs 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 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 WDK (or IFS Kit) release, then it is shaded yellow to retain some of its previous status as undocumented.

Nearly three quarters of these original exports are nowadays documented. In the early years of 32-bit Windows, 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 has no version information except if stated otherwise in the Remarks column.

In some cases, the documentation admits to an existence before Windows 2000. In others, the documentation describes behaviour for specific versions, none of which precede Windows 2000. For a few, the documentation states explicitly that the function requires Windows 2000. Rather many are said to require Windows XP. Some are even said to require at least Windows Server 2003 SP1, which is so specific that you might think that it must have been checked. One was somehow thought by someone at Microsoft to be new for Windows Vista.

Most documented functions and even about a quarter of the undocumented functions are declared in one or another of the WDK header files. The WDK applies version constraints (in terms of the NTDDI_VERSION macro) to most declarations, but this also is a recent practice. When Microsoft decided to start adding this information, it seems no trouble was taken to determine any function’s origin from before Windows 2000. Yet instead of leaving the old declarations without version constraints, trouble was taken to add version information in the full knowledge that the addition would be factually wrong for the overwhelming majority of these old functions. In this way, very nearly all these original functions are said to require at least Windows 2000 (and some are said to be very recent indeed). Exported variables are always declared without version constraints. When a function, typically obsolete, is redefined by a macro or is implemented inline, no version constraints apply.

Nearly a fifth of the original functions are still neither documented nor declared as of the WDK for Windows 7. (This is not to say that any of them ought to be documented or declared, just that they still aren't documented or declared.) It might be thought unlikely that any of them will be documented by Microsoft any time soon, if ever. After all, if they haven’t been missed in well over a decade, can they even be worth knowing about? Yet a trickle of these ancient functions get newly documented with each new release of the WDK.

Function Remarks
CcCanIWrite undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
CcCopyRead undocumented until 2000 (IFS);
documentation since 2008-2009 requires Windows 2000 and higher;
declaration requires Windows 2000 and higher
CcCopyWrite undocumented until 2000 (IFS);
documentation since 2008-2009 requires Windows 2000 and higher;
declaration requires Windows 2000 and higher
CcDeferWrite undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
CcFlushCache undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
CcGetDirtyPages undocumented until 2000-2006 (IFS);
documentation requires Windows XP and higher;
declaration requires Windows XP and higher
CcGetFileObjectFromBcb undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
CcGetFileObjectFromSectionPtrs undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
CcGetLsnForFileObject  
CcInitializeCacheMap undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
CcIsThereDirtyData undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
CcMapData undocumented until 2000 (IFS);
documentation acknowledges existence before Windows 2000;
declaration requires Windows 2000 and higher, with variation for Windows XP and higher
CcMdlRead undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
CcMdlReadComplete undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
CcMdlWriteComplete undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
CcPinMappedData undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
CcPinRead undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
CcPrepareMdlWrite undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
CcPreparePinWrite undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
CcPurgeCacheSection undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher, with (undocumented) variation for Windows Vista and higher
CcRepinBcb undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
CcScheduleReadAhead undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
CcSetAdditionalCacheAttributes undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
CcSetDirtyPageThreshold undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
CcSetDirtyPinnedData undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
CcSetFileSizes undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
CcSetLogHandleForFile undocumented until 2000-2006 (IFS);
documentation requires Windows XP and higher;
declaration requires Windows XP and higher
CcSetReadAheadGranularity undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
CcUninitializeCacheMap undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
CcUnpinData undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
CcUnpinDataForThread undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
CcUnpinRepinnedBcb undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
CcZeroData undocumented until 2000 (IFS);
documentation since 2008-2009 requires Windows 2000 and higher (and notes a variation for Windows Vista and higher);
declaration requires Windows 2000 and higher
DbgBreakPoint declaration requires Windows 2000 and higher;
conditionally redefined by macro as compiler intrinsic __debugbreak
DbgLoadImageSymbols  
DbgPrint documentation requires Windows 2000 and higher
DbgPrompt undocumented until 2005-2006
ExAcquireFastMutexUnsafe declaration requires Windows 2000 and higher
ExAcquireResourceExclusive discontinued in 5.1;
redefined by (deprecated) macro as ExAcquireResourceExclusiveLite
ExAcquireResourceExclusiveLite documentation since 2008-2009 requires Windows 2000 and higher;
declaration requires Windows 2000 and higher
ExAcquireResourceSharedLite declaration requires Windows 2000 and higher
ExAcquireSharedStarveExclusive declaration requires Windows 2000 and higher
ExAcquireSharedWaitForExclusive declaration requires Windows 2000 and higher
ExAllocatePool not documented as obsolete until 2000-2002;
declaration (deprecated) requires Windows 2000 and higher
ExAllocatePoolWithQuota not documented as obsolete until 2000-2002;
declaration (deprecated) requires Windows 2000 and higher
ExAllocatePoolWithQuotaTag declaration requires Windows 2000 and higher
ExAllocatePoolWithTag declaration requires Windows 2000 and higher
ExConvertExclusiveToSharedLite declaration requires Windows 2000 and higher
ExCreateCallback undocumented until 1996-2000;
declaration requires Windows 2000 and higher
ExDeleteResource discontinued in 5.1;
redefined by (deprecated) macro as ExDeleteResourceLite
ExDeleteResourceLite declaration requires Windows 2000 and higher
ExDisableResourceBoostLite undocumented until 2000-2006 (IFS);
declaration requires Windows 2000 and higher
ExEventObjectType (data) mentioned since 1996-2000 in documentation of ObReferenceObjectByHandle, etc
ExExtendZone documented since 1996-2000 as obsolete;
declaration (deprecated) requires Windows 2000 and higher
ExFreePool declaration requires Windows 2000 and higher
ExGetExclusiveWaiterCount declaration requires Windows 2000 and higher
ExGetSharedWaiterCount declaration requires Windows 2000 and higher
ExInitializeResource discontinued in 5.1;
redefined by (deprecated) macro as ExDeleteResourceLite
ExInitializeResourceLite declaration requires Windows 2000 and higher
ExInitializeZone not documented as obsolete until 1996-2000;
declaration (deprecated) requires Windows 2000 and higher
ExInterlockedAddLargeInteger declaration requires Windows 2000 and higher
ExInterlockedAddLargeStatistic x86 only;
undocumented until 1996-2000;
redefined by macro using compiler intrinsic _InterlockedAddLargeStatistic;
supported for x64 by macro using compiler intrinsic _InterlockedAdd64
ExInterlockedAddUlong declaration requires Windows 2000 and higher;
redefined by macro as ExfInterlockedAddUlong (x86 only)
ExInterlockedDecrementLong x86 only;
redefined by (deprecated) macro using Exfi386InterlockedDecrementLong;
supported for x64 by macro using compiler intrinsic _InterlockedDecrement
ExInterlockedExchangeUlong x86 only;
redefined by (deprecated) macro in terms of Exfi386InterlockedExchangeUlong;
supported for x64 by macro in terms of compiler intrinsic _InterlockedExchange
ExInterlockedExtendZone documented since 1996-2000 as obsolete;
declaration (deprecated) requires Windows 2000 and higher
ExInterlockedIncrementLong x86 only;
redefined by (deprecated) macro using Exfi386InterlockedIncrementLong;
supported for x64 as macro using compiler intrinsic _InterlockedIncrement
ExInterlockedInsertHeadList declaration requires Windows 2000 and higher;
redefined by macro as ExfInterlockedInsertHeadList (x86 only)
ExInterlockedInsertTailList declaration requires Windows 2000 and higher;
redefined by macro as ExfInterlockedInsertTailList (x86 only)
ExInterlockedPopEntryList declaration requires Windows 2000 and higher;
redefined by macro as ExfInterlockedPopEntryList (x86 only)
ExInterlockedPushEntryList declaration requires Windows 2000 and higher;
redefined by macro as ExfInterlockedPushEntryList (x86 only)
ExInterlockedRemoveHeadList declaration requires Windows 2000 and higher;
redefined by macro as ExfInterlockedRemoveHeadList (x86 only)
ExIsResourceAcquiredExclusiveLite declaration requires Windows 2000 and higher
ExIsResourceAcquiredSharedLite declaration requires Windows 2000 and higher
ExLocalTimeToSystemTime declaration requires Windows 2000 and higher
ExNotifyCallback undocumented until 1996-2000;
declaration requires Windows 2000 and higher
ExPostSystemEvent discontinued in 5.0
ExQueryPoolBlockSize undocumented until 2000-2006 (IFS);
declaration requires Windows 2000 and higher
ExQueueWorkItem not documented as obsolete until 1996-2000 (and still not obsolete in IFS documentation);
declaration (deprecated) requires Windows 2000 and higher
ExRaiseAccessViolation undocumented until 1996-2000;
declaration requires Windows 2000 and higher
ExRaiseDatatypeMisalignment undocumented until 1996-2000;
declaration requires Windows 2000 and higher
ExRaiseException  
ExRaiseHardError  
ExRaiseStatus declaration requires Windows 2000 and higher
ExRegisterCallback undocumented until 1996-2000;
declaration requires Windows 2000 and higher
ExReinitializeResourceLite declaration requires Windows 2000 and higher
ExReleaseFastMutexUnsafe declaration requires Windows 2000 and higher
ExReleaseResourceForThread discontinued in 5.1;
redefined by (deprecated) macro as ExReleaseResourceForThreadLite
ExReleaseResourceForThreadLite declaration requires Windows 2000 and higher
ExReleaseResourceLite undocumented until 1996-2000;
declaration requires Windows 2000 and higher
ExSystemExceptionFilter  
ExSystemTimeToLocalTime declaration requires Windows 2000 and higher
ExUnregisterCallback undocumented until 1996-2000;
declaration requires Windows 2000 and higher
ExfInterlockedAddUlong x86 only;
declaration (as ExInterlockedAddUlong via macro) requires Windows 2000 and higher
ExfInterlockedInsertHeadList x86 only;
declaration (as ExInterlockedInsertHeadList via macro) requires Windows 2000 and higher
ExfInterlockedInsertTailList x86 only;
declaration (as ExInterlockedInsertTailList via macro) requires Windows 2000 and higher
ExfInterlockedPopEntryList x86 only;
undocumented until 2006-2007;
declaration (as ExInterlockedPopEntryList via macro) requires Windows 2000 and higher
ExfInterlockedPushEntryList x86 only;
undocumented until 2006-2007;
declaration (as ExInterlockedPushEntryList via macro) requires Windows 2000 and higher
ExfInterlockedRemoveHeadList x86 only;
declaration (as ExInterlockedRemoveHeadList via macro) requires Windows 2000 and higher
Exfi386InterlockedDecrementLong x86 only
Exfi386InterlockedExchangeUlong x86 only
Exfi386InterlockedIncrementLong x86 only
Exi386InterlockedDecrementLong x86 only
Exi386InterlockedExchangeUlong x86 only
Exi386InterlockedIncrementLong x86 only
FsRtlAddLargeMcbEntry undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
FsRtlAddMcbEntry undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
FsRtlAllocatePool undocumented until 2000 (IFS);
not declared
FsRtlAllocatePoolWithQuota undocumented until 2000 (IFS);
not declared
FsRtlAllocatePoolWithQuotaTag undocumented until 2000 (IFS);
redefined by macro using ExAllocatePoolWithQuotaTag
FsRtlAllocatePoolWithTag undocumented until 2000 (IFS);
redefined by macro using ExAllocatePoolWithTag
FsRtlAllocateResource undocumented until 2000-2006 (IFS);
declaration requires Windows 2000 and higher
FsRtlAreNamesEqual undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
FsRtlBalanceReads undocumented until 2000-2006 (IFS);
declaration requires Windows 2000 and higher
FsRtlCheckLockForReadAccess undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
FsRtlCheckLockForWriteAccess undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
FsRtlCheckOplock undocumented until 2000-2006 (IFS);
documentation since 2008-2009 requires Windows 2000 and higher;
declaration requires Windows 2000 and higher
FsRtlCopyRead undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
FsRtlCopyWrite undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
FsRtlCurrentBatchOplock undocumented until 2000-2006 (IFS);
declaration requires Windows 2000 and higher
FsRtlDeregisterUncProvider undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
FsRtlDissectDbcs undocumented until 2000 (IFS);
documentation since 2008-2009 requires Windows 2000 and higher;
declaration requires Windows 2000 and higher
FsRtlDissectName undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
FsRtlDoesDbcsContainWildCards undocumented until 2000 (IFS);
documentation since 2008-2009 requires Windows 2000 and higher;
declaration requires Windows 2000 and higher
FsRtlDoesNameContainWildCards undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
FsRtlFastCheckLockForRead undocumented until 2000 (IFS);
documentation since 2008-2009 requires Windows 2000 and higher;
declaration requires Windows 2000 and higher
FsRtlFastCheckLockForWrite undocumented until 2000 (IFS);
documentation since 2008-2009 requires Windows 2000 and higher;
declaration requires Windows 2000 and higher
FsRtlFastUnlockAll undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
FsRtlFastUnlockAllByKey undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
FsRtlFastUnlockSingle undocumented until 2000 (IFS);
documentation since 2008-2009 requires Windows 2000 and higher;
declaration requires Windows 2000 and higher
FsRtlGetNextFileLock undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
FsRtlGetNextLargeMcbEntry undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
FsRtlGetNextMcbEntry undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
FsRtlInitializeFileLock undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
FsRtlInitializeLargeMcb undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
FsRtlInitializeMcb undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
FsRtlInitializeOplock undocumented until 2000-2006 (IFS);
declaration requires Windows 2000 and higher
FsRtlIsDbcsInExpression undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
FsRtlIsFatDbcsLegal undocumented until 2000 (IFS);
documentation since 2008-2009 requires Windows 2000 and higher;
declaration requires Windows 2000 and higher
FsRtlIsHpfsDbcsLegal undocumented until 2000 (IFS);
documentation since 2008-2009 requires Windows 2000 and higher;
declaration requires Windows 2000 and higher
FsRtlIsNameInExpression undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
FsRtlIsNtstatusExpected undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
FsRtlIsTotalDeviceFailure undocumented until 2000 (IFS);
documentation since 2008-2009 requires Windows 2000 and higher;
declaration requires Windows 2000 and higher
FsRtlLegalAnsiCharacterArray (data)  
FsRtlLookupLargeMcbEntry undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
FsRtlLookupLastLargeMcbEntry undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
FsRtlLookupLastMcbEntry undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
FsRtlLookupMcbEntry undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
FsRtlMdlRead  
FsRtlNormalizeNtstatus undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
FsRtlNotifyChangeDirectory  
FsRtlNotifyCleanup undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
FsRtlNotifyFullChangeDirectory undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
FsRtlNotifyFullReportChange undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
FsRtlNotifyInitializeSync undocumented until 2000 (IFS);
documentation since 2008-2009 requires Windows 2000 and higher;
declaration requires Windows 2000 and higher
FsRtlNotifyReportChange  
FsRtlNotifyUninitializeSync undocumented until 2000 (IFS);
documentation since 2008-2009 requires Windows 2000 and higher;
declaration requires Windows 2000 and higher
FsRtlNumberOfRunsInLargeMcb undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
FsRtlNumberOfRunsInMcb undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
FsRtlOplockFsctrl undocumented until 2000-2006 (IFS);
declaration requires Windows 2000 and higher
FsRtlOplockIsFastIoPossible undocumented until 2000-2006 (IFS);
declaration requires Windows 2000 and higher
FsRtlPostPagingFileStackOverflow undocumented until 2000 (IFS);
documentation since 2008-2009 requires Windows 2000 and higher;
declaration requires Windows 2000 and higher
FsRtlPostStackOverflow undocumented until 2000 (IFS);
documentation since 2008-2009 requires Windows 2000 and higher;
declaration requires Windows 2000 and higher
FsRtlPrepareMdlWrite  
FsRtlPrivateLock undocumented until 2000-2006;
declaration requires Windows 2000 and higher
FsRtlProcessFileLock undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
FsRtlRegisterUncProvider undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
FsRtlRemoveLargeMcbEntry undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
FsRtlRemoveMcbEntry undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
FsRtlSplitLargeMcb undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
FsRtlSyncVolumes  
FsRtlTruncateLargeMcb undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
FsRtlTruncateMcb undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
FsRtlUninitializeFileLock undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
FsRtlUninitializeLargeMcb undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
FsRtlUninitializeMcb undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
FsRtlUninitializeOplock undocumented until 2000-2006 (IFS);
declaration requires Windows 2000 and higher
HalDispatchTable (data)  
HalPrivateDispatchTable (data)  
InterlockedDecrement x86 only;
conditionally redefined by macro as compiler intrinsic _InterlockedDecrement or using InterlockedExchangeAdd macro;
supported for x64 by macro as compiler intrinsic _InterlockedDecrement
InterlockedExchange x86 only;
conditionally redefined by macro as compiler intrinsic _InterlockedExchange or by inline assembly language using xchg instruction;
supported for x64 by macro as compiler intrinsic _InterlockedExchange
InterlockedIncrement x86 only;
conditionally redefined by macro as compiler intrinsic _InterlockedIncrement or using InterlockedExchangeAdd macro;
supported for x64 by macro as compiler intrinsic _InterlockedIncrement
IoAcquireCancelSpinLock declaration requires Windows 2000 and higher
IoAcquireVpbSpinLock undocumented until 2000-2006 (IFS);
declaration requires Windows 2000 and higher
IoAdapterObjectType (data)  
IoAllocateAdapterChannel not documented as obsolete until 1996-2000;
conditionally redefined inline and deprecated, else not declared
IoAllocateController declaration requires Windows 2000 and higher
IoAllocateErrorLogEntry declaration requires Windows 2000 and higher
IoAllocateIrp declaration requires Windows 2000 and higher
IoAllocateMdl declaration requires Windows 2000 and higher
IoAssignResources not documented as obsolete until 1996-2000;
declaration (deprecated) requires Windows 2000 and higher
IoAttachDevice declaration requires Windows 2000 and higher
IoAttachDeviceByPointer declaration (deprecated) requires Windows 2000 and higher
IoBuildAsynchronousFsdRequest declaration requires Windows 2000 and higher
IoBuildDeviceIoControlRequest declaration requires Windows 2000 and higher
IoBuildPartialMdl declaration requires Windows 2000 and higher
IoBuildSynchronousFsdRequest declaration requires Windows 2000 and higher
IoCallDriver redefined by macro in terms of IofCallDriver
IoCancelIrp declaration requires Windows 2000 and higher
IoCheckDesiredAccess undocumented until 2000-2006 (IFS);
declaration requires Windows 2000 and higher
IoCheckEaBufferValidity undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
IoCheckFunctionAccess undocumented until 2000-2006 (IFS);
declaration requires Windows 2000 and higher
IoCheckShareAccess declaration requires Windows 2000 and higher
IoCompleteRequest redefined by macro using IofCompleteRequest
IoConnectInterrupt declaration requires Windows 2000 and higher
IoCreateController declaration requires Windows 2000 and higher
IoCreateDevice declaration requires Windows 2000 and higher
IoCreateFile undocumented until 1996-2000;
declaration requires Windows 2000 and higher
IoCreateStreamFileObject undocumented until 2000-2006 (IFS);
declaration requires Windows 2000 and higher
IoCreateSymbolicLink declaration requires Windows 2000 and higher
IoCreateSynchronizationEvent declaration requires Windows 2000 and higher
IoCreateUnprotectedSymbolicLink declaration requires Windows 2000 and higher
IoDeleteController declaration requires Windows 2000 and higher
IoDeleteDevice declaration requires Windows 2000 and higher
IoDeleteSymbolicLink declaration requires Windows 2000 and higher
IoDetachDevice declaration requires Windows 2000 and higher
IoDeviceObjectType (data)  
IoDisconnectInterrupt declaration requires Windows 2000 and higher
IoDriverObjectType (data)  
IoEnqueueIrp  
IoFileObjectType (data) mentioned in documentation since 1996-2000 of ObReferenceObjectByHandle, etc
IoFreeController declaration requires Windows 2000 and higher
IoFreeIrp declaration requires Windows 2000 and higher
IoFreeMdl declaration requires Windows 2000 and higher
IoGetAttachedDevice undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
IoGetConfigurationInformation declaration requires Windows 2000 and higher
IoGetCurrentProcess declaration requires Windows 2000 and higher
IoGetDeviceObjectPointer declaration requires Windows 2000 and higher
IoGetDeviceToVerify declaration requires Windows 2000 and higher
IoGetFileObjectGenericMapping declaration requires Windows 2000 and higher
IoGetInitialStack declaration requires Windows 2000 and higher
IoGetRelatedDeviceObject declaration requires Windows 2000 and higher
IoGetRequestorProcess undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
IoGetTopLevelIrp undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
IoInitializeIrp declaration requires Windows 2000 and higher
IoInitializeTimer declaration requires Windows 2000 and higher
IoIsOperationSynchronous undocumented until 2000-2006 (IFS);
declaration requires Windows 2000 and higher
IoIsSystemThread undocumented until 2000-2006 (IFS);
declaration requires Windows 2000 and higher
IoMakeAssociatedIrp declaration requires Windows 2000 and higher
IoPageRead undocumented until 2000-2006 (IFS);
declaration requires Windows 2000 and higher
IoQueryDeviceDescription not documented as obsolete until 1996-2000;
declaration (deprecated) requires Windows 2000 and higher
IoQueryFileInformation undocumented until 2000-2006 (IFS);
declaration requires Windows 2000 and higher
IoQueryVolumeInformation undocumented until 2000-2006 (IFS);
declaration requires Windows 2000 and higher
IoRaiseHardError declaration requires Windows 2000 and higher
IoRaiseInformationalHardError declaration requires Windows 2000 and higher
IoReadOperationCount (data)  
IoReadTransferCount (data)  
IoRegisterDriverReinitialization declaration requires Windows 2000 and higher
IoRegisterFileSystem undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
IoRegisterFsRegistrationChange undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
IoRegisterShutdownNotification declaration requires Windows 2000 and higher
IoReleaseCancelSpinLock declaration requires Windows 2000 and higher
IoReleaseVpbSpinLock undocumented until 2000-2006 (IFS);
declaration requires Windows 2000 and higher
IoRemoveShareAccess declaration requires Windows 2000 and higher
IoReportHalResourceUsage  
IoReportResourceUsage not documented as obsolete until 1996-2000;
declaration (deprecated) requires Windows 2000 and higher
IoSetDeviceToVerify undocumented until 2000-2006 (IFS);
declaration requires Windows 2000 and higher
IoSetHardErrorOrVerifyDevice declaration requires Windows 2000 and higher
IoSetInformation undocumented until 2000-2006 (IFS);
declaration requires Windows 2000 and higher
IoSetShareAccess declaration requires Windows 2000 and higher
IoSetTopLevelIrp undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
IoStartNextPacket declaration requires Windows 2000 and higher
IoStartNextPacketByKey declaration requires Windows 2000 and higher
IoStartPacket declaration requires Windows 2000 and higher
IoStartTimer declaration requires Windows 2000 and higher
IoStatisticsLock (data)  
IoStopTimer declaration requires Windows 2000 and higher
IoSynchronousPageWrite undocumented until 2000-2006 (IFS);
declaration requires Windows 2000 and higher
IoThreadToProcess undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
IoUnregisterFileSystem undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
IoUnregisterFsRegistrationChange undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
IoUnregisterShutdownNotification declaration requires Windows 2000 and higher
IoUpdateShareAccess declaration requires Windows 2000 and higher
IoVerifyVolume undocumented until 2000-2006 (IFS);
declaration requires Windows 2000 and higher
IoWriteErrorLogEntry declaration requires Windows 2000 and higher
IoWriteOperationCount (data)  
IoWriteTransferCount (data)  
IofCallDriver declaration requires Windows 2000 and higher
IofCompleteRequest declaration requires Windows 2000 and higher
KdDebuggerEnabled (data) undocumented until 2002-2005;
documentation (as KD_DEBUGGER_ENABLED via macro) requires Windows XP and higher
KdDebuggerNotPresent (data) undocumented until 2002-2005;
documentation (as KD_DEBUGGER_NOT_PRESENT via macro) requires Windows XP and higher
KdPollBreakIn  
Ke386CallBios x86 only;
discontinued in 6.2
Ke386IoSetAccessProcess x86 only
Ke386QueryIoAccessMap x86 only
Ke386SetIoAccessMap x86 only
KeAcquireSpinLockAtDpcLevel redefined for x86 by macro using KefAcquireSpinLockAtDpcLevel;
declaration for x64 requires Windows 2000 and higher
KeAddSystemServiceTable  
KeAttachProcess undocumented until 2000-2006 (IFS);
declaration requires Windows 2000 and higher
KeBugCheck declaration requires Windows 2000 and higher
KeBugCheckEx declaration requires Windows 2000 and higher
KeCancelTimer declaration requires Windows 2000 and higher
KeClearEvent  
KeConnectInterrupt discontinued in 6.0
KeDcacheFlushCount discontinued in 5.2
KeDelayExecutionThread declaration requires Windows 2000 and higher
KeDeregisterBugCheckCallback declaration requires Windows 2000 and higher
KeDetachProcess undocumented until 2000-2006 (IFS);
declaration requires Windows 2000 and higher
KeDisconnectInterrupt discontinued in 6.0
KeEnterCriticalRegion declaration requires Windows 2000 and higher
KeEnterKernelDebugger undocumented until 2000-2002;
not declared
KeFindConfigurationEntry  
KeFindConfigurationNextEntry  
KeFlushEntireTb  
KeGetCurrentThread undocumented until 1996-2000;
redefined inline for x64 to read from gs segment
KeGetPreviousMode x86 only
KeI386AbiosCall x86 only;
discontinued in 6.2
KeI386AllocateGdtSelectors x86 only;
discontinued in 6.2
KeI386Call16BitFunction x86 only;
discontinued in 6.2
KeI386FlatToGdtSelector x86 only;
discontinued in 6.2
KeI386GetLid x86 only;
discontinued in 6.2
KeI386MachineType x86 only
KeI386ReleaseGdtSelectors x86 only;
discontinued in 6.2
KeI386ReleaseLid x86 only;
discontinued in 6.2
KeI386SetGdtSelector x86 only;
discontinued in 6.2
KeIcacheFlushCount discontinued in 5.2
KeInitializeApc  
KeInitializeDeviceQueue declaration requires Windows 2000 and higher
KeInitializeDpc declaration requires Windows 2000 and higher
KeInitializeEvent  
KeInitializeInterrupt  
KeInitializeMutant undocumented until 2000-2006 (IFS);
declaration requires Windows 2000 and higher
KeInitializeMutex declaration requires Windows 2000 and higher
KeInitializeQueue undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
KeInitializeSemaphore declaration requires Windows 2000 and higher
KeInitializeSpinLock x86 only;
conditionally redefined inline;
declaration requires Windows 2000 and higher;
supported for x64 through inline definition
KeInitializeTimer declaration requires Windows 2000 and higher
KeInsertByKeyDeviceQueue declaration requires Windows 2000 and higher
KeInsertDeviceQueue declaration requires Windows 2000 and higher
KeInsertHeadQueue undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
KeInsertQueue undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
KeInsertQueueApc  
KeInsertQueueDpc declaration requires Windows 2000 and higher
KeIsExecutingDpc x86-only before 6.0
KeLeaveCriticalRegion declaration requires Windows 2000 and higher
KeLoaderBlock (data)  
KeNumberProcessors (data) undocumented until 2007;
documented as obsolete for Windows Vista SP1, and higher
KeProfileInterrupt x86 only;
discontinued in 6.2
KeProfileInterruptWithSource  
KePulseEvent undocumented until 1996-2000;
declaration requires Windows 2000 and higher
KeQuerySystemTime x86 only;
declaration requires Windows 2000 and higher;
supported for x64 by macro to access shared user data
KeQueryTickCount x86 only;
redefined by macro as block of code that reads KeTickCount;
supported for x64 by macro to access shared user data
KeQueryTimeIncrement declaration requires Windows 2000 and higher
KeReadStateEvent declaration requires Windows 2000 and higher
KeReadStateMutant undocumented until 2000-2006 (IFS);
declaration requires Windows 2000 and higher
KeReadStateMutex declaration requires Windows 2000 and higher
KeReadStateQueue undocumented until 2000-2006 (IFS);
declaration requires Windows 2000 and higher
KeReadStateSemaphore declaration requires Windows 2000 and higher
KeReadStateTimer declaration requires Windows 2000 and higher
KeRegisterBugCheckCallback declaration requires Windows 2000 and higher
KeReleaseMutant undocumented until 2000-2006 (IFS);
declaration requires Windows 2000 and higher
KeReleaseMutex declaration requires Windows 2000 and higher
KeReleaseSemaphore declaration requires Windows 2000 and higher
KeReleaseSpinLockFromDpcLevel redefined for x86 by macro using KefReleaseSpinLockFromDpcLevel;
declaration for x64 requires Windows 2000 and higher
KeRemoveByKeyDeviceQueue declaration requires Windows 2000 and higher
KeRemoveDeviceQueue declaration requires Windows 2000 and higher
KeRemoveEntryDeviceQueue declaration requires Windows 2000 and higher
KeRemoveQueue undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
KeRemoveQueueDpc declaration requires Windows 2000 and higher
KeResetEvent declaration requires Windows 2000 and higher
KeServiceDescriptorTable (data) x86-only except in 5.2 from Windows Server 2003 SP1
KeSetBasePriorityThread declaration requires Windows 2000 and higher
KeSetDmaIoCoherency  
KeSetEvent declaration requires Windows 2000 and higher
KeSetEventBoostPriority  
KeSetImportanceDpc undocumented until 1996-2000;
declaration requires Windows 2000 and higher
KeSetPriorityThread declaration requires Windows 2000 and higher
KeSetTargetProcessorDpc undocumented until 1996-2000;
not declared unless SINGLE_GROUP_LEGACY_API defined;
declaration requires Windows 2000 and higher
KeSetTimeIncrement discontinued in 6.3
KeSetTimer declaration requires Windows 2000 and higher
KeSynchronizeExecution declaration requires Windows 2000 and higher
KeTerminateThread discontinued in 6.1
KeTickCount (data) x86 only
KeUpdateRunTime discontinued in 6.3
KeUpdateSystemTime discontinued in 6.2
KeUserModeCallback  
KeWaitForMultipleObjects declaration requires Windows 2000 and higher
KeWaitForMutexObject redefined by macro as KeWaitForSingleObject
KeWaitForSingleObject declaration requires Windows 2000 and higher
KefAcquireSpinLockAtDpcLevel x86 only;
declaration requires Windows 2000 and higher
KefReleaseSpinLockFromDpcLevel x86 only;
declaration requires Windows 2000 and higher
Kei386EoiHelper x86 only
KiAcquireSpinLock x86 only
KiCoprocessorError x86 only;
discontinued in 6.3
KiDeliverApc x86 only
KiDispatchInterrupt x86 only
KiIpiSend discontinued in 4.0
KiIpiServiceRoutine x86 only
KiReleaseSpinLock x86 only
KiUnexpectedInterrupt x86 only
Kii386SpinOnSpinLock x86 only;
discontinued in 6.1
LdrAccessResource  
LdrEnumResources  
LdrFindResource_U  
LpcRequestPort  
LsaCallAuthenticationPackage documentation is in SDK for SECUR32, and requires Windows NT 3.1 and higher
LsaDeregisterLogonProcess documentation is in SDK for SECUR32, and requires Windows NT 3.1 and higher
LsaFreeReturnBuffer documentation is in SDK for SECUR32, and requires Windows NT 3.1 and higher
LsaLogonUser documentation is in SDK for SECUR32, and requires Windows NT 3.1 and higher
LsaLookupAuthenticationPackage documentation is in SDK for SECUR32, and requires Windows NT 3.1 and higher
LsaRegisterLogonProcess documentation is in SDK for SECUR32, and requires Windows NT 3.1 and higher
MmAdjustWorkingSetSize  
MmAllocateContiguousMemory declaration requires Windows 2000 and higher
MmAllocateNonCachedMemory declaration requires Windows 2000 and higher
MmBuildMdlForNonPagedPool declaration requires Windows 2000 and higher
MmCanFileBeTruncated undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
MmCreateMdl not documented as obsolete until 1999-2000;
declaration requires Windows 2000 and higher
MmCreateSection  
MmDbgTranslatePhysicalAddress discontinued in 5.1
MmDisableModifiedWriteOfSection  
MmFlushImageSection undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
MmForceSectionClosed undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
MmFreeContiguousMemory declaration requires Windows 2000 and higher
MmFreeNonCachedMemory declaration requires Windows 2000 and higher
MmGetPhysicalAddress declaration requires Windows 2000 and higher
MmIsAddressValid declaration requires Windows 2000 and higher
MmIsNonPagedSystemAddressValid declaration (deprecated) requires Windows 2000 and higher
MmIsRecursiveIoFault undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
MmIsThisAnNtAsSystem documented since 2002-2005 as obsolete for Windows XP and higher;
declaration requires Windows 2000 and higher
MmLockPagableDataSection declaration requires Windows 2000 and higher
MmLockPagableImageSection  
MmLockPagableSectionByHandle declaration requires Windows 2000 and higher
MmMapIoSpace declaration requires Windows 2000 and higher
MmMapLockedPages documented since 2002-2005 as obsolete for Windows 2000 and higher;
declaration requires Windows 2000 and higher
MmMapMemoryDumpMdl  
MmMapViewInSystemSpace undocumented until 2000-2002;
declaration requires Windows 2000 and higher
MmMapViewOfSection  
MmPageEntireDriver declaration requires Windows 2000 and higher
MmProbeAndLockPages declaration requires Windows 2000 and higher
MmQuerySystemSize declaration requires Windows 2000 and higher
MmResetDriverPaging declaration requires Windows 2000 and higher
MmSectionObjectType (data)  
MmSecureVirtualMemory undocumented until 2000-2002;
declaration requires Windows 2000 and higher
MmSetAddressRangeModified undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
MmSetBankedSection  
MmSizeOfMdl declaration requires Windows 2000 and higher
MmUnlockPagableImageSection declaration requires Windows 2000 and higher
MmUnlockPages declaration requires Windows 2000 and higher
MmUnmapIoSpace declaration requires Windows 2000 and higher
MmUnmapLockedPages declaration requires Windows 2000 and higher
MmUnmapViewInSystemSpace undocumented until 2000-2002;
declaration requires Windows 2000 and higher
MmUnmapViewOfSection  
MmUnsecureVirtualMemory undocumented until 2000-2002;
declaration requires Windows 2000 and higher
NlsLeadByteInfo (data)  
NlsMbCodePageTag (data) declared via NLS_MB_CODE_PAGE_TAG macro;
macro undocumented until 2008-2009
NlsMbOemCodePageTag (data) declared via NLS_MB_OEM_CODE_PAGE_TAG macro
NlsOemLeadByteInfo (data) declared via NLS_OEM_LEAD_BYTE_INFO macro
NtAdjustPrivilegesToken declaration requires Windows 2000 and higher
NtAllocateLocallyUniqueId undocumented until 2008-2009;
mentioned since 2007 in documentation of ZwAllocateLocallyUniqueId;
not declared
NtAllocateUuids  
NtAllocateVirtualMemory undocumented until 2008-2009;
declaration requires Windows 2000 and higher
NtBuildNumber  
NtClose undocumented until 2008-2009;
mentioned since 2007 in documentation of ZwClose;
declaration requires Windows 2000 and higher
NtConnectPort  
NtCreateEvent undocumented until 2008-2009;
documentation requires Windows XP and higher;
not declared
NtCreateFile undocumented until 2008-2009;
mentioned since 2007 in documentation of ZwCreateFile;
declaration requires Windows 2000 and higher
NtCreateSection undocumented until 2008-2009;
mentioned since 2007 in documentation of ZwCreateSection;
declaration requires Windows XP and higher
NtDeleteFile undocumented until 2008-2009;
documentation requires Windows XP and higher;
not declared
NtDeviceIoControlFile undocumented until 2008-2009;
declaration requires Windows 2000 and higher
NtDuplicateObject undocumented until 2008-2009;
not declared
NtDuplicateToken undocumented until 2008-2009;
documentation requires Windows 2000 and higher;
declaration requires Windows XP and higher
NtFreeVirtualMemory undocumented until 2008-2009;
declaration requires Windows 2000 and higher
NtFsControlFile undocumented until 2008-2009;
declaration requires Windows 2000 and higher
NtGlobalFlag (data)  
NtLockFile undocumented until 2008-2009;
documentation requires Windows 7 and higher;
declaration requires Windows 2000 and higher
NtMapViewOfSection undocumented until 2008-2009;
mentioned since 2007 in documentation of ZwMapViewOfSection;
not declared
NtNotifyChangeDirectoryFile  
NtOpenFile undocumented until 2008-2009;
mentioned since 2007 in documentation of ZwOpenFile;
declaration requires Windows 2000 and higher
NtOpenProcess undocumented until 2008-2009;
mentioned since 2007 in documentation of ZwOpenProcess
NtOpenProcessToken declaration requires Windows 2000 and higher
NtQueryDirectoryFile undocumented until 2008-2009;
documentation requires Windows XP and higher;
declaration requires Windows 2000 and higher
NtQueryEaFile  
NtQueryInformationFile undocumented until 2008-2009;
mentioned since 2007 in documentation of ZwQueryInformationFile;
declaration requires Windows 2000 and higher
NtQueryInformationProcess  
NtQueryInformationToken undocumented until 2008-2009;
documentation requires Windows XP and higher;
declaration requires Windows 2000 and higher
NtQuerySecurityObject undocumented until 2008-2009;
documentation requires Windows XP and higher;
declaration requires Windows 2000 and higher
NtQueryVolumeInformationFile undocumented until 2008-2009;
declaration requires Windows 2000 and higher
NtReadFile undocumented until 2008-2009;
mentioned since 2007 in documentation of ZwReadFile;
declaration requires Windows 2000 and higher
NtRequestPort  
NtRequestWaitReplyPort  
NtSetEvent undocumented until 2008-2009;
not declared
NtSetInformationFile undocumented until 2008-2009;
mentioned since 2007 in documentation of ZwSetInformationFile;
declaration requires Windows 2000 and higher
NtSetInformationProcess  
NtSetInformationThread undocumented until 2008-2009;
mentioned since 2007 in documentation of ZwSetInformationThread;
declaration requires Windows XP and higher
NtSetSecurityObject undocumented until 2008-2009;
documentation requires Windows XP and higher;
declaration requires Windows 2000 and higher
NtUnlockFile undocumented until 2008-2009;
documentation requires Windows 7 and higher;
declaration requires Windows 2000 and higher
NtVdmControl  
NtWaitForSingleObject undocumented until 2008-2009;
documentation requires Windows XP and higher;
not declared
NtWriteFile undocumented until 2008-2009;
mentioned since 2007 in documentation of ZwWriteFile;
declaration requires Windows 2000 and higher
ObCreateObject  
ObDereferenceObject redefined by macro in terms of ObfDereferenceObject
ObGetObjectPointerCount discontinued in 5.1
ObInsertObject undocumented until 2007;
declaration requires Windows 2000 and higher
ObMakeTemporaryObject undocumented until 2000-2006 (IFS);
declaration requires Windows 2000 and higher
ObOpenObjectByPointer undocumented until 2000-2006 (IFS);
declaration requires Windows 2000 and higher
ObQueryNameString undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
ObReferenceObjectByHandle declaration requires Windows 2000 and higher
ObReferenceObjectByPointer declaration requires Windows 2000 and higher
ObfDereferenceObject declaration requires Windows 2000 and higher
PfxFindPrefix declaration requires Windows 2000 and higher
PfxInitialize declaration requires Windows 2000 and higher
PfxInsertPrefix declaration requires Windows 2000 and higher
PfxRemovePrefix declaration requires Windows 2000 and higher
PoQueryPowerSequence discontinued in 5.1
PoRegisterDeviceForIdleDetection not in 4.0;
undocumented until 2000-2002;
declaration requires Windows 2000 and higher
PoRequestPowerChange discontinued in 5.1
ProbeForWrite undocumented until 1996-2000;
declaration requires Windows 2000 and higher
PsChargePoolQuota undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
PsCreateSystemProcess discontinued in 6.0
PsCreateSystemThread declaration requires Windows 2000 and higher
PsEstablishWin32Callouts  
PsGetProcessExitTime undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
PsInitialSystemProcess (data) undocumented until 2007;
documentation requires Windows NT 4.0 and higher
PsIsThreadTerminating undocumented until 2000 (IFS);
documentation since 2008-2009 requires Windows 2000 and higher;
declaration requires Windows 2000 and higher
PsLookupProcessByProcessId undocumented until 2000-2006 (IFS);
documentation requires Windows 2000 and higher
PsLookupProcessThreadByCid  
PsLookupThreadByThreadId undocumented until 2000-2006 (IFS);
documentation requires Windows 2000 and higher
PsProcessType (data) mentioned since 2005-2006 in documentation of ObReferenceObjectByHandle, etc
PsReferenceImpersonationToken undocumented until 2000-2006 (IFS);
documentation until 2007 requires Windows XP and higher;
documentation since 2007 requires Windows 2000 and higher;
declaration requires Windows 2000 and higher
PsReferencePrimaryToken undocumented until 2000-2006 (IFS);
documentation until 2007 requires Windows XP and higher;
documentation since 2007 requires Windows 2000 and higher;
declaration requires Windows 2000 and higher
PsReturnPoolQuota undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
PsSetCreateProcessNotifyRoutine undocumented until 1996-2000;
declaration requires Windows 2000 and higher
PsSetProcessPriorityByClass  
PsTerminateSystemThread declaration requires Windows 2000 and higher
PsThreadType (data) mentioned since 2005-2006 in documentation of ObReferenceObjectByHandle, etc
READ_REGISTER_BUFFER_UCHAR x86 only;
supported for x64 by inline definition
READ_REGISTER_BUFFER_ULONG x86 only;
supported for x64 by inline definition
READ_REGISTER_BUFFER_USHORT x86 only;
supported for x64 by inline definition
READ_REGISTER_UCHAR x86 only;
supported for x64 by inline definition
READ_REGISTER_ULONG x86 only;
supported for x64 by inline definition
READ_REGISTER_USHORT x86 only;
supported for x64 by inline definition
RtlAbsoluteToSelfRelativeSD undocumented until 2000-2006 (IFS);
documentation requires Windows Server 2003 SP1, and higher;
declaration requires Windows Server 2003 SP1, and higher
RtlAddAccessAllowedAce undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
RtlAddAce undocumented until 2000-2006 (IFS);
documentation requires Windows Server 2003 SP1, and higher;
declaration requires Windows 2000 and higher
RtlAllocateAndInitializeSid discontinued in 5.1;
uundocumented until 2000-2006 (IFS);
declaration requires Windows 2000 and higher
RtlAllocateHeap undocumented until 2000-2006 (IFS);
documentation requires Windows XP and higher;
declaration requires Windows 2000 and higher
RtlAnsiStringToUnicodeSize redefined by macro using NlsMbCodePageTag and RtlxAnsiStringToUnicodeSize
RtlAnsiStringToUnicodeString declaration requires Windows 2000 and higher
RtlAppendAsciizToString  
RtlAppendStringToString undocumented until 2000 (IFS);
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
RtlAreAllAccessesGranted  
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 2000-2002
RtlCaptureStackBackTrace undocumented until 2008-2009;
documentation requires Windows XP and higher;
declaration requires Windows XP and higher
RtlCharToInteger declaration 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
RtlCompareMemory declaration requires Windows 2000 and higher
RtlCompareMemoryUlong undocumented until 2000 (IFS);
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 (IFS);
documented until 2007 as reserved;
documentation since 2007 requires Windows XP and higher;
declaration requires Windows XP and higher
RtlConvertLongToLargeInteger x86 only;
redefined inline (deprecated for Windows XP and higher), also for x64
RtlConvertSidToUnicodeString undocumented until 2008-2009;
documentation requires Windows 2000 and higher;
declaration requires Windows 2000 and higher
RtlConvertUlongToLargeInteger x86 only;
redefined inline (deprecated for Windows XP and higher), also for x64
RtlCopyLuid undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
RtlCopySid undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
RtlCopyString declaration requires Windows 2000 and higher
RtlCopyUnicodeString declaration requires Windows 2000 and higher
RtlCreateAcl undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
RtlCreateHeap undocumented until 2000-2006 (IFS);
documentation requires Windows XP and higher;
declaration requires Windows XP and higher
RtlCreateRegistryKey declaration requires Windows 2000 and higher
RtlCreateSecurityDescriptor declaration requires Windows 2000 and higher
RtlCreateUnicodeString undocumented until 2000 (IFS);
documentation requires Windows 2000 and higher;
declaration requires Windows 2000 and higher
RtlCustomCPToUnicodeN undocumented until 2000-2006 (IFS);
declaration requires Windows 2000 and higher
RtlDecompressBuffer undocumented until 2000-2006 (IFS);
documented until 2007 as reserved;
documentation since 2007 requires Windows XP and higher;
declaration requires Windows XP and higher
RtlDecompressFragment undocumented until 2000-2006 (IFS);
documented until 2007 as reserved;
documentation since 2007 requires Windows XP and higher;
declaration requires Windows XP and higher
RtlDelete undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
RtlDeleteElementGenericTable undocumented until 2000 (IFS);
conditionally redefined by macro as RtlDeleteElementGenericTableAvl;
declaration requires Windows 2000 and higher
RtlDeleteRegistryValue declaration requires Windows 2000 and higher
RtlDestroyHeap undocumented until 2000-2006 (IFS);
documentation requires Windows XP and higher;
declaration requires Windows XP and higher
RtlDowncaseUnicodeString undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
RtlEnlargedIntegerMultiply x86 only;
redefined inline (also for x64) to use 64-bit integer arithmetic
RtlEnlargedUnsignedDivide x86 only;
redefined inline (also for x64) to use 64-bit integer arithmetic
RtlEnlargedUnsignedMultiply x86 only;
redefined inline (also for x64) to use 64-bit integer arithmetic
RtlEnumerateGenericTable undocumented until 2000 (IFS);
conditionally redefined by macro as RtlEnumerateGenericTableAvl;
declaration requires Windows 2000 and higher
RtlEnumerateGenericTableWithoutSplaying undocumented until 2000 (IFS);
conditionally redefined by macro as RtlEnumerateGenericTableWithoutSplayingAvl;
declaration requires Windows 2000 and higher
RtlEqualLuid undocumented until 1996-2000;
redefined by macro
RtlEqualSid undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
RtlEqualString declaration requires Windows 2000 and higher
RtlEqualUnicodeString declaration requires Windows 2000 and higher
RtlExtendedIntegerMultiply x86 only;
defined inline for x64 to use 64-bit arithmetic
RtlExtendedLargeIntegerDivide x86 only;
defined inline for x64 to use 64-bit arithmetic
RtlExtendedMagicDivide x86 only;
defined inline for x64 to use 64-bit arithmetic
RtlFillMemory redefined by macro using memset
RtlFillMemoryUlong x86 only;
undocumented until 2000 (IFS);
declaration requires Windows XP and higher;
defined inline for x64 to use 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
RtlFindFirstRunClear undocumented until 1996-2000;
declaration requires Windows 2000 and higher
RtlFindFirstRunSet discontinued in 5.1
RtlFindLongestRunClear undocumented until 1996-2000;
declaration requires Windows 2000 and higher
RtlFindLongestRunSet discontinued in 5.1
RtlFindMessage  
RtlFindSetBits undocumented until 1996-2000;
declaration requires Windows 2000 and higher
RtlFindSetBitsAndClear undocumented until 1996-2000;
declaration requires Windows 2000 and higher
RtlFindUnicodePrefix undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
RtlFormatCurrentUserKeyPath  
RtlFreeAnsiString declaration requires Windows 2000 and higher
RtlFreeHeap undocumented until 2000-2006 (IFS);
documentation requires Windows XP and higher;
declaration requires Windows 2000 and higher
RtlFreeOemString undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
RtlFreeUnicodeString  
RtlGenerate8dot3Name undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher;
different return type declared for Windows Vista SP1, and higher
RtlGetCallersAddress undocumented until 2000-2002;
conditionally redefined by macro for x64 to use compiler intrinsic _ReturnAddress;
declaration requires Windows 2000 and higher
RtlGetCompressionWorkSpaceSize undocumented until 2000-2006 (IFS);
documented until 2007 as reserved;
documentation since 2007 requires Windows XP and higher;
declaration requires Windows XP and higher
RtlGetDaclSecurityDescriptor undocumented until 2000-2006 (IFS);
documentation requires Windows Server 2003 SP1, and higher;
declaration requires Windows 2000 and higher
RtlGetElementGenericTable undocumented until 2000 (IFS);
conditonally redefined by macro as RtlGetElementGenericTableAvl;
declaration requires Windows 2000 and higher
RtlGetGroupSecurityDescriptor undocumented until 2000-2006 (IFS);
documentation requires Windows Server 2003 SP1, and higher;
declaration requires Windows Server 2003 SP1, and higher
RtlGetOwnerSecurityDescriptor undocumented until 2000 (IFS);
documentation requires Windows 2000 and higher;
declaration requires Windows 2000 and higher
RtlImageNtHeader  
RtlInitAnsiString declaration requires Windows 2000 and higher
RtlInitCodePageTable undocumented until 2000-2006 (IFS);
declaration requires Windows 2000 and higher
RtlInitString declaration requires Windows 2000 and higher
RtlInitUnicodeString  
RtlInitializeBitMap undocumented until 1996-2000;
declaration requires Windows 2000 and higher
RtlInitializeGenericTable undocumented until 2000 (IFS);
documentation since 2008-2009 requires Windows 2000 and higher;
conditionally redefined by macro as RtlInitializeGenericTableAvl;
declaration requires Windows 2000 and higher
RtlInitializeSid undocumented until 2000 (IFS);
documentation requires Windows 2000 and higher;
declaration requires Windows 2000 and higher
RtlInitializeUnicodePrefix undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
RtlInsertElementGenericTable undocumented until 2000 (IFS);
conditionally redefined by macro as RtlInsertElementGenericTableAvl;
declaration requires Windows 2000 and higher
RtlInsertUnicodePrefix undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
RtlIntegerToChar  
RtlIntegerToUnicodeString declaration requires Windows 2000 and higher
RtlLargeIntegerAdd x86 only;
redefined inline (deprecated) to use 64-bit integer arithmetic (x64 also)
RtlLargeIntegerArithmeticShift x86 only;
redefined inline (deprecated for Windows XP and higher) to use 64-bit integer arithmetic (x64 also)
RtlLargeIntegerDivide x86 only;
declaration (deprecated) requires Windows 2000 and higher;
redefined inline for x64 to use 64-bit integer arithmetic
RtlLargeIntegerNegate x86 only;
redefined inline (deprecated) to use 64-bit integer arithmetic (x64 also)
RtlLargeIntegerShiftLeft x86 only;
redefined inline (deprecated for Windows XP and higher) to use 64-bit integer arithmetic (x64 also)
RtlLargeIntegerShiftRight x86 only;
redefined inline (deprecated for Windows XP and higher) to use 64-bit integer arithmetic (x64 also)
RtlLargeIntegerSubtract x86 only;
redefined inline (deprecated) to use 64-bit integer arithmetic (x64 also)
RtlLengthRequiredSid undocumented until 2000 (IFS);
documentation requires Windows 2000 and higher;
declaration requires Windows 2000 and higher
RtlLengthSecurityDescriptor declaration requires Windows 2000 and higher
RtlLengthSid undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
RtlLookupElementGenericTable undocumented until 2000 (IFS);
conditionally redefined by macro as RtlLookupElementGenericTableAvl;
declaration requires Windows 2000 and higher
RtlMapGenericMask undocumented until 2000-2002;
declaration requires Windows 2000 and higher
RtlMoveMemory redefined by macro using memmove
RtlMultiByteToUnicodeN undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
RtlNextUnicodePrefix undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
RtlNtStatusToDosError undocumented until 2000-2006 (IFS);
documented until 2007 as reserved;
declaration requires Windows 2000 and higher
RtlNtStatusToDosErrorNoTeb undocumented until 2000-2006 (IFS);
declaration requires Windows XP and higher
RtlNumberGenericTableElements undocumented until 2000 (IFS);
conditionally redefined by macro as RtlNumberGenericTableElementsAvl
RtlNumberOfClearBits undocumented until 1996-2000;
declaration requires Windows 2000 and higher
RtlNumberOfSetBits undocumented until 1996-2000;
declaration requires Windows 2000 and higher
RtlOemStringToCountedUnicodeString undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
RtlOemStringToUnicodeSize undocumented until 2000 (IFS);
redefined by macro in terms of NlsMbOemCodePageTag and RtlxOemStringToUnicodeSize
RtlOemStringToUnicodeString undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
RtlOemToUnicodeN undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
RtlPrefixString  
RtlPrefixUnicodeString undocumented until 1996-2000;
declaration requires Windows 2000 and higher
RtlQueryRegistryValues declaration requires Windows 2000 and higher
RtlQueryTimeZoneInformation  
RtlRandom undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
RtlRemoveUnicodePrefix undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
RtlSecondsSince1970ToTime undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
RtlSecondsSince1980ToTime undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
RtlSetAllBits undocumented until 1996-2000;
declaration requires Windows 2000 and higher
RtlSetBits undocumented until 1996-2000;
declaration requires Windows 2000 and higher
RtlSetDaclSecurityDescriptor declaration requires Windows 2000 and higher
RtlSetGroupSecurityDescriptor undocumented until 2000-2006 (IFS);
documentation requires Windows Server 2003 SP1, and higher;
declaration requires Windows Server 2003 SP1, and higher
RtlSetOwnerSecurityDescriptor undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
RtlSetSaclSecurityDescriptor  
RtlSetTimeZoneInformation  
RtlSplay undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
RtlSubAuthorityCountSid undocumented until 2000-2006 (IFS);
declaration requires Windows XP and higher
RtlSubAuthoritySid undocumented until 2000 (IFS);
documentation requires Windows 2000 and higher;
declaration requires Windows 2000 and higher
RtlTimeFieldsToTime declaration requires Windows 2000 and higher
RtlTimeToSecondsSince1970 undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
RtlTimeToSecondsSince1980 undocumented until 2000 (IFS);
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 declaration requires Windows 2000 and higher
RtlUnicodeStringToCountedOemString undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
RtlUnicodeStringToInteger declaration requires Windows 2000 and higher
RtlUnicodeStringToOemSize undocumented until 2000 (IFS);
redefined by macro in terms of NlsMbOemCodePageTag and RtlxUnicodeStringToOemSize
RtlUnicodeStringToOemString undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
RtlUnicodeToCustomCPN undocumented until 2000-2006 (IFS);
declaration requires Windows 2000 and higher
RtlUnicodeToMultiByteN undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
RtlUnicodeToMultiByteSize undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
RtlUnicodeToOemN undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
RtlUnwind also exported from KERNEL32 version 3.51 and higher;
documentation and declaration are in SDK for KERNEL32;
documentation requires Windows 2000 and higher
RtlUpcaseUnicodeChar undocumented until 1996-2000;
declaration requires Windows 2000 and higher
RtlUpcaseUnicodeString declaration requires Windows 2000 and higher
RtlUpcaseUnicodeStringToAnsiString  
RtlUpcaseUnicodeStringToCountedOemString undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
RtlUpcaseUnicodeStringToOemString undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
RtlUpcaseUnicodeToCustomCPN undocumented until 2000-2006 (IFS);
declaration requires Windows 2000 and higher
RtlUpcaseUnicodeToMultiByteN undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
RtlUpcaseUnicodeToOemN undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
RtlUpperChar undocumented until 1996-2000;
declaration requires Windows 2000 and higher
RtlUpperString declaration requires Windows 2000 and higher
RtlValidSecurityDescriptor declaration requires Windows 2000 and higher
RtlValidSid undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
RtlWriteRegistryValue declaration requires Windows 2000 and higher
RtlZeroHeap  
RtlZeroMemory redefined by macro using memset
RtlxAnsiStringToUnicodeSize undocumented until 2005-2006;
declaration requires Windows 2000 and higher
RtlxOemStringToUnicodeSize undocumented until 2007
RtlxUnicodeStringToAnsiSize undocumented until 1996-2000;
declaration requires Windows 2000 and higher
RtlxUnicodeStringToOemSize undocumented until 2007
SeAccessCheck declaration requires Windows 2000 and higher
SeAppendPrivileges undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
SeAssignSecurity declaration requires Windows 2000 and higher
SeAuditingFileEvents undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
SeCaptureSecurityDescriptor  
SeCaptureSubjectContext undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
SeCloseObjectAuditAlarm  
SeCreateAccessState  
SeCreateClientSecurity undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
SeDeassignSecurity declaration requires Windows 2000 and higher
SeDeleteAccessState  
SeExports (data) undocumented until 2000-2006 (IFS)
SeFreePrivileges undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
SeImpersonateClient undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
SeLockSubjectContext undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
SeOpenObjectAuditAlarm undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
SePrivilegeCheck undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
SePrivilegeObjectAuditAlarm  
SePublicDefaultDacl (data)  
SeQueryAuthenticationIdToken undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
SeQuerySecurityDescriptorInfo undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
SeReleaseSecurityDescriptor  
SeReleaseSubjectContext undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
SeSetSecurityDescriptorInfo undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
SeSinglePrivilegeCheck declaration requires Windows 2000 and higher
SeSystemDefaultDacl (data)  
SeTokenType undocumented until 2000-2006 (IFS);
declaration requires Windows 2000 and higher
SeUnlockSubjectContext undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
SeValidSecurityDescriptor undocumented until 1996-2000;
declaration requires Windows 2000 and higher
WRITE_REGISTER_BUFFER_UCHAR x86 only;
supported for x64 by inline definition
WRITE_REGISTER_BUFFER_ULONG x86 only;
supported for x64 by inline definition
WRITE_REGISTER_BUFFER_USHORT x86 only;
supported for x64 by inline definition
WRITE_REGISTER_UCHAR x86 only;
supported for x64 by inline definition
WRITE_REGISTER_ULONG x86 only;
supported for x64 by inline definition
WRITE_REGISTER_USHORT x86 only;
supported for x64 by inline definition
ZwAccessCheckAndAuditAlarm  
ZwAlertThread  
ZwAllocateVirtualMemory undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
ZwClearEvent  
ZwClose declaration requires Windows 2000 and higher
ZwCloseObjectAuditAlarm  
ZwConnectPort  
ZwCreateDirectoryObject declaration requires Windows 2000 and higher
ZwCreateEvent undocumented until 2000-2006 (IFS);
documentation requires Windows XP and higher;
declaration requires Windows 2000 and higher
ZwCreateFile documentation since 2008-2009 requires Windows 2000 and higher;
declaration requires Windows 2000 and higher
ZwCreateKey declaration requires Windows 2000 and higher
ZwCreateSection undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
ZwCreateSymbolicLinkObject  
ZwCreateTimer not in 4.0;
undocumented until 2005-2006;
declaration requires Windows 2000 and higher
ZwDeleteFile undocumented until 2000-2006 (IFS);
documentation requires Windows XP and higher;
declaration requires Windows 2000 and higher
ZwDeleteKey declaration requires Windows 2000 and higher
ZwDeleteValueKey undocumented until 2002-2005;
documentation since 2008-2009 requires Windows 2000 and higher;
declaration requires Windows 2000 and higher
ZwDeviceIoControlFile undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
ZwDisplayString declaration requires Windows 2000 and higher
ZwDuplicateObject undocumented until 2000-2006 (IFS);
declaration requires Windows 2000 and higher
ZwDuplicateToken undocumented until 2007;
documentation requires Windows 2000 and higher
ZwEnumerateKey declaration requires Windows 2000 and higher
ZwEnumerateValueKey declaration requires Windows 2000 and higher
ZwFlushInstructionCache  
ZwFlushKey declaration requires Windows 2000 and higher
ZwFreeVirtualMemory undocumented until 2000 (IFS);
declaration requires Windows 2000 and higher
ZwFsControlFile undocumented until 2000-2006 (IFS);
declaration requires Windows 2000 and higher
ZwLoadDriver undocumented until 2000-2006 (IFS);
documentation requires Windows XP and higher;
declaration requires Windows 2000 and higher
ZwMakeTemporaryObject declaration requires Windows 2000 and higher
ZwMapViewOfSection declaration requires Windows 2000 and higher
ZwNotifyChangeKey undocumented until 2007;
documentation requires Windows XP and higher;
declaration requires Windows 2000 and higher
ZwOpenDirectoryObject undocumented until 2000-2006 (IFS);
documentation requires Windows XP and higher;
declaration requires Windows 2000 and higher
ZwOpenEvent undocumented until 2005-2006;
documentation requires Windows Server 2003 and higher;
declaration requires Windows Server 2003 and higher
ZwOpenFile undocumented until 1996-2000;
declaration requires Windows 2000 and higher
ZwOpenKey declaration requires Windows 2000 and higher
ZwOpenProcess undocumented until 2005-2006
ZwOpenProcessToken  
ZwOpenSection declaration requires Windows 2000 and higher
ZwOpenSymbolicLinkObject undocumented until 1996-2000;
declaration requires Windows 2000 and higher
ZwOpenThread  
ZwOpenThreadToken  
ZwPulseEvent  
ZwQueryDirectoryFile undocumented until 2000 (IFS);
documentation since 2000-2006 requires Windows XP and higher;
declaration requires Windows 2000 and higher
ZwQueryInformationFile declaration requires Windows 2000 and higher
ZwQueryInformationProcess  
ZwQueryInformationToken undocumented until 2000-2006 (IFS);
documentation requires Windows XP and higher;
declaration requires Windows 2000 and higher
ZwQueryKey declaration requires Windows 2000 and higher
ZwQuerySection  
ZwQuerySecurityObject undocumented until 2000-2006 (IFS);
documentation requires Windows XP and higher;
declaration requires Windows 2000 and higher
ZwQuerySymbolicLinkObject undocumented until 1996-2000;
declaration requires Windows 2000 and higher
ZwQueryValueKey declaration requires Windows 2000 and higher
ZwQueryVolumeInformationFile undocumented until 2000-2006 (IFS);
declaration requires Windows 2000 and higher
ZwReadFile declaration requires Windows 2000 and higher
ZwRequestWaitReplyPort  
ZwResetEvent  
ZwSetDefaultLocale  
ZwSetEvent undocumented until 2000-2006 (IFS);
documentation requires Windows XP and higher;
declaration requires Windows 2000 and higher
ZwSetInformationFile declaration requires Windows 2000 and higher
ZwSetInformationProcess  
ZwSetInformationThread declaration requires Windows 2000 and higher
ZwSetSystemInformation  
ZwSetTimer not in 4.0;
undocumented until 2005-2006;
declaration requires Windows 2000 and higher
ZwSetValueKey declaration requires Windows 2000 and higher
ZwUnmapViewOfSection declaration requires Windows 2000 and higher
ZwWaitForMultipleObjects  
ZwWaitForSingleObject undocumented until 2000-2006 (IFS);
documentation requires Windows XP and higher;
declaration requires Windows 2000 and higher
ZwWriteFile declaration requires Windows 2000 and higher
_abnormal_termination x86 only
_except_handler2 x86 only
_global_unwind2 x86 only
_itoa  
_local_unwind2 x86 only
_purecall  
_snprintf  
_snwprintf  
_stricmp  
_strlwr  
_strnicmp  
_strupr  
_vsnprintf  
_wcsicmp  
_wcsnicmp  
atoi  
atol  
isdigit  
islower  
isprint  
isspace  
isupper  
isxdigit  
mbstowcs  
memchr  
memcpy redefined by macro as inline function if _DBG_MEMCPY_INLINE_ defined
memmove  
memset  
qsort  
rand  
sprintf  
srand  
strchr  
strncmp  
strncpy  
strrchr  
strstr  
swprintf  
tolower  
toupper  
vsprintf  
wcscat  
wcschr  
wcscmp  
wcscpy  
wcscspn  
wcslen  
wcsncmp  
wcsncpy  
wcsrchr  
wcsstr