Geoff Chappell, Software Analyst
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 |