Geoff Chappell, Software Analyst
Revision in progress. Use caution.
This page lists the functions that are newly exported from the Windows kernel in its 1511 release. None at all were yet documented as showed at Microsoft’s website when searching on 27th February 2016. Repeating the survey on 7th October 2018 found that a few have been documented since.
For the table below, documentation status is summarised by colour coding so that more detail can be given as Remarks with less text. (If you read this website with scripts enabled, then hovering the mouse over any coloured text will produce a tooltip that shows why the text is coloured.) Functions that have their own non-trivial documentation are shown with no background colour. Functions that appear to be completely undocumented are highlighted yellow. If a function is documented now but was not documented in the first contemporaneous Device Driver Kit (DDK), Windows Driver Kit (WDK) or Installable File System (IFS) Kit, then it is shaded yellow to retain some of its previous status. Many undocumented functions do at least have C-language declarations in one or another header file from the WDK. These are shaded orange, except for one special case. Some declarations are known only from “minwin” headers that Microsoft published in early editions of the WDK for Windows 10 which seem since to have been withdrawn. These are highlighted orange to indicate that public knowledge even of the declaration is exceptional.
Many declarations of the new exports in version 1511 are inside conditional-compilation blocks that set a minimum NTDDI_VERSION. All such declarations date the function to some other release of Windows 10. Those that would have it that the function is not available until a later release do at least have the merit of matching the delayed documentation.
Name | Export History | Documentation History | Declaration History |
---|---|---|---|
InbvSetVirtualFrameBuffer | |||
IoClearFsTrackOffsetState | declared start is 10.0 | ||
IoGetSiloParameters | before 1607, declared documented start is 1607 |
before 1607, declared start is 10.0 since 1607, declared start is 1607 |
|
IoVolumeDeviceNameToGuid | declared start is 10.0 | ||
IoVolumeDeviceNameToGuidPath | declared start is 10.0 | ||
KeGetEffectiveIrql | declared start is 10.0 | ||
ObOpenObjectByNameEx | |||
PoSetSystemWakeDevice | |||
PsEqualCurrentServerSilo | discontinued in 1607 | declared start is 10.0 | |
PsGetCurrentServerSilo | before 1607, declared documented start is 1607 |
before 1607, declared start is 10.0 since 1607, declared start is 1607 |
|
PsGetCurrentServerSiloName | before 1607, declared documented start is 1607 |
before 1607, declared start is 10.0 since 1607, declared start is 1607 since 1703, deprecated |
|
PsGetCurrentSiloObject | discontinued in 1607 | declared start is 10.0 | |
PsGetJobServerSilo | before 1607, undocumented documented start is 1607 |
declared start is 1607 | |
PsGetProcessServerSilo | |||
PsGetSiloIdentifier | declared start is 10.0 | ||
PsIsCurrentThreadInServerSilo | before 1607, declared documented start is 1607 |
before 1607, declared start is 10.0 since 1607, declared start is 1607 |
|
PsSetCreateProcessNotifyRoutineEx2 | before 1703, undocumented documented start is 1703 |
declared start is 1703 |
There was perhaps some plan that PsEqualCurrentServerSilo, PsGetCurrentServerSilo and PsIsCurrentThreadInServerSilo should be exported from the kernel even in the original release of Windows 10. They are declared in NTDDK.H from the WDK for Windows 10 as if for export, but they exist in the corresponding kernel only as internal routines.
What documentation survives of PsGetCurrentServerSiloName, PsGetCurrentSiloObject and PsIsCurrentThreadInServerSilo at Microsoft’s website (today, 17th September 2020) is separate from that of other silo functions, still warns that it “relates to pre-released product”, and now comes with the disclaimer that Microsoft is “no longer updating this content regularly.” The documentation is dated to 10th June 2016, which seems plausible as a date of first publication.
Name | Export History | Documentation History | Declaration History |
---|---|---|---|
RtlGetCurrentServiceSessionId | |||
SeAuditFipsCryptoSelftests | declared start is 10.0 | ||
ZwUnloadKey2 |
Version 1511 also discontinued the export of some functions, including seven that had only just been introduced for the original version 10.0. These functions for working with silos were apparently so much in flux that version 1607 discontinued more, including some that had been new for version 1511.