Commit ecd9a55c authored by Aleksey R.'s avatar Aleksey R.

split: summary table and detailed history

parent ba1b0160
This diff is collapsed.
......@@ -90,40 +90,91 @@ class Masks:
self.version = nt.getVersion()
class Icon:
clock = "![U](clock.png)"
plus = "![A](plus_green.png)"
change = "![C](arrow_circle_double.png)"
cancel = "![X](deny_rd_cr.png)"
descriptions = { clock : "Not yet supported for this version",
plus : "Started to be supported from this version",
change : "Changed from this version",
cancel : "No longer supported",
}
def print_table(f, collected, function_name, enum_name):
values = set()
for x in collected:
values = values | set([ i for i in x.values[function_name] ])
for i in sorted(values): # for each InfoClass value
names = set([ x.enums[enum_name][i] for x in collected if i in x.enums[enum_name] ])
f.write( "\n" )
f.write( "## {}: {} == {}".format(function_name, " / ".join(names), i) )
f.write( "\n" )
f.write( "| Windows version | Required access masks |\n" )
f.write( "| --- | --- |\n" )
f.write( "\n" )
f.write( "| | Started with | Maximum access mask | |\n" )
f.write( "| --- | --- | --- | --- |\n" )
prev = None
for x in collected:
ver = ".".join(["{}".format(n) for n in x.version])
am = ""
color = ""
if i in x.values[function_name]:
am = format_file_access_masks(x.values[function_name][i])
if not prev is None:
if not prev:
color = "![A](plus_green.png) "
elif prev != am:
color = "![C](arrow_circle_double.png) "
elif i < max([ j for j in x.values[function_name] ]):
am = "![X](deny_rd_cr.png)"
else:
color = "![U](clock.png)"
f.write( "| {} | {}{} |\n".format(ver, color, am) )
prev = am
for i in sorted(values): # for each InfoClass value
names = sorted( set([ x.enums[enum_name][i] for x in collected if i in x.enums[enum_name] ]) )
file_name = "_".join([function_name, ] + names).lower()
maximum_am = 0
started = ""
used_icons = set()
with open(".\\{}.md".format(file_name), "w") as subf:
subf.write( "# {}: {} == {}\n".format(function_name, " / ".join(names), i) )
subf.write( "\n" )
subf.write( "| Windows version | Required access masks |\n" )
subf.write( "| --- | --- |\n" )
prev = None
for x in collected:
ver = ".".join(["{}".format(n) for n in x.version])
am = ""
color = ""
if i in x.values[function_name]:
am_value = x.values[function_name][i]
maximum_am |= am_value
am = format_file_access_masks(am_value)
if not prev is None:
if not prev:
color = Icon.plus + " "
used_icons = used_icons.union([Icon.plus, ])
started = ver
elif prev != am:
color = Icon.change + " "
used_icons = used_icons.union([Icon.change, ])
elif i < max([ j for j in x.values[function_name] ]):
am = Icon.cancel
used_icons = used_icons.union([Icon.cancel, ])
else:
color = Icon.clock
used_icons = used_icons.union([Icon.clock, ])
subf.write( "| {} | {}{} |\n".format(ver, color, am) )
prev = am
subf.write( "\n" )
if used_icons:
subf.write( "# Legend\n" )
subf.write( "\n" )
subf.write( "| | Description |\n" )
subf.write( "| --- | --- |\n" )
for ico in used_icons:
subf.write( "| {} | {} |\n".format(ico, Icon.descriptions[ico]) )
subf.write( "\n" )
subf.write( "[Main table](README.md)\n" )
subf.write( "\n" )
f.write( "| {} | {} | {}{} | [History]({}.md) |\n".format( " / ".join(names),
started,
Icon.cancel + " " if Icon.cancel in used_icons else "",
format_file_access_masks(maximum_am),
file_name ) )
f.write( "\n" )
......@@ -177,10 +228,7 @@ def main():
f.write( "\n" )
f.write( "| Icon | Description |\n" )
f.write( "| --- | --- |\n" )
f.write( "| ![U](clock.png) | Not yet supported for this version |\n" )
f.write( "| ![A](plus_green.png) | Started to be supported from this version |\n" )
f.write( "| ![C](arrow_circle_double.png) | Changed from this version |\n" )
f.write( "| ![X](deny_rd_cr.png) | No longer supported from this version |\n" )
f.write( "| {} | {} |\n".format(Icon.cancel, Icon.descriptions[Icon.cancel]) )
f.write( "\n" )
f.write( "# How to generate README.md\n" )
......
# NtQueryInformationFile: FileAccessInformation == 8
| Windows version | Required access masks |
| --- | --- |
| 5.1.2600.0 | 0 |
| 5.2.3790.1830 | 0 |
| 5.2.3790.3959 | 0 |
| 6.0.6000.16386 | 0 |
| 6.0.6002.18005 | 0 |
| 6.1.7600.16385 | 0 |
| 6.1.7601.17514 | 0 |
| 6.2.9200.16384 | 0 |
| 6.3.9600.16384 | 0 |
| 10.0.10240.16515 | 0 |
| 10.0.10586.0 | 0 |
| 10.0.14393.0 | 0 |
| 10.0.15063.0 | 0 |
| 10.0.16299.15 | 0 |
| 10.0.17134.1 | 0 |
| 10.0.17763.1 | 0 |
[Main table](README.md)
# NtQueryInformationFile: FileAlignmentInformation == 17
| Windows version | Required access masks |
| --- | --- |
| 5.1.2600.0 | 0 |
| 5.2.3790.1830 | 0 |
| 5.2.3790.3959 | 0 |
| 6.0.6000.16386 | 0 |
| 6.0.6002.18005 | 0 |
| 6.1.7600.16385 | 0 |
| 6.1.7601.17514 | 0 |
| 6.2.9200.16384 | 0 |
| 6.3.9600.16384 | 0 |
| 10.0.10240.16515 | 0 |
| 10.0.10586.0 | 0 |
| 10.0.14393.0 | 0 |
| 10.0.15063.0 | 0 |
| 10.0.16299.15 | 0 |
| 10.0.17134.1 | 0 |
| 10.0.17763.1 | 0 |
[Main table](README.md)
# NtQueryInformationFile: FileAllInformation == 18
| Windows version | Required access masks |
| --- | --- |
| 5.1.2600.0 | FILE_READ_ATTRIBUTES |
| 5.2.3790.1830 | FILE_READ_ATTRIBUTES |
| 5.2.3790.3959 | FILE_READ_ATTRIBUTES |
| 6.0.6000.16386 | FILE_READ_ATTRIBUTES |
| 6.0.6002.18005 | FILE_READ_ATTRIBUTES |
| 6.1.7600.16385 | FILE_READ_ATTRIBUTES |
| 6.1.7601.17514 | FILE_READ_ATTRIBUTES |
| 6.2.9200.16384 | FILE_READ_ATTRIBUTES |
| 6.3.9600.16384 | FILE_READ_ATTRIBUTES |
| 10.0.10240.16515 | FILE_READ_ATTRIBUTES |
| 10.0.10586.0 | FILE_READ_ATTRIBUTES |
| 10.0.14393.0 | FILE_READ_ATTRIBUTES |
| 10.0.15063.0 | FILE_READ_ATTRIBUTES |
| 10.0.16299.15 | FILE_READ_ATTRIBUTES |
| 10.0.17134.1 | FILE_READ_ATTRIBUTES |
| 10.0.17763.1 | FILE_READ_ATTRIBUTES |
[Main table](README.md)
# NtQueryInformationFile: FileAlternateNameInformation == 21
| Windows version | Required access masks |
| --- | --- |
| 5.1.2600.0 | 0 |
| 5.2.3790.1830 | 0 |
| 5.2.3790.3959 | 0 |
| 6.0.6000.16386 | 0 |
| 6.0.6002.18005 | 0 |
| 6.1.7600.16385 | 0 |
| 6.1.7601.17514 | 0 |
| 6.2.9200.16384 | 0 |
| 6.3.9600.16384 | 0 |
| 10.0.10240.16515 | 0 |
| 10.0.10586.0 | 0 |
| 10.0.14393.0 | 0 |
| 10.0.15063.0 | 0 |
| 10.0.16299.15 | 0 |
| 10.0.17134.1 | 0 |
| 10.0.17763.1 | 0 |
[Main table](README.md)
# NtQueryInformationFile: FileAttributeCacheInformation / FileUnusedInformation == 52
| Windows version | Required access masks |
| --- | --- |
| 5.1.2600.0 | ![U](clock.png) |
| 5.2.3790.1830 | ![U](clock.png) |
| 5.2.3790.3959 | ![U](clock.png) |
| 6.0.6000.16386 | ![U](clock.png) |
| 6.0.6002.18005 | ![U](clock.png) |
| 6.1.7600.16385 | ![A](plus_green.png) FILE_READ_ATTRIBUTES |
| 6.1.7601.17514 | FILE_READ_ATTRIBUTES |
| 6.2.9200.16384 | FILE_READ_ATTRIBUTES |
| 6.3.9600.16384 | ![X](deny_rd_cr.png) |
| 10.0.10240.16515 | ![X](deny_rd_cr.png) |
| 10.0.10586.0 | ![X](deny_rd_cr.png) |
| 10.0.14393.0 | ![X](deny_rd_cr.png) |
| 10.0.15063.0 | ![X](deny_rd_cr.png) |
| 10.0.16299.15 | ![X](deny_rd_cr.png) |
| 10.0.17134.1 | ![X](deny_rd_cr.png) |
| 10.0.17763.1 | ![X](deny_rd_cr.png) |
# Legend
| | Description |
| --- | --- |
| ![A](plus_green.png) | Started to be supported from this version |
| ![X](deny_rd_cr.png) | No longer supported |
| ![U](clock.png) | Not yet supported for this version |
[Main table](README.md)
# NtQueryInformationFile: FileAttributeTagInformation == 35
| Windows version | Required access masks |
| --- | --- |
| 5.1.2600.0 | FILE_READ_ATTRIBUTES |
| 5.2.3790.1830 | FILE_READ_ATTRIBUTES |
| 5.2.3790.3959 | FILE_READ_ATTRIBUTES |
| 6.0.6000.16386 | FILE_READ_ATTRIBUTES |
| 6.0.6002.18005 | FILE_READ_ATTRIBUTES |
| 6.1.7600.16385 | FILE_READ_ATTRIBUTES |
| 6.1.7601.17514 | FILE_READ_ATTRIBUTES |
| 6.2.9200.16384 | FILE_READ_ATTRIBUTES |
| 6.3.9600.16384 | FILE_READ_ATTRIBUTES |
| 10.0.10240.16515 | FILE_READ_ATTRIBUTES |
| 10.0.10586.0 | FILE_READ_ATTRIBUTES |
| 10.0.14393.0 | FILE_READ_ATTRIBUTES |
| 10.0.15063.0 | FILE_READ_ATTRIBUTES |
| 10.0.16299.15 | FILE_READ_ATTRIBUTES |
| 10.0.17134.1 | FILE_READ_ATTRIBUTES |
| 10.0.17763.1 | FILE_READ_ATTRIBUTES |
[Main table](README.md)
# NtQueryInformationFile: FileBasicInformation == 4
| Windows version | Required access masks |
| --- | --- |
| 5.1.2600.0 | FILE_READ_ATTRIBUTES |
| 5.2.3790.1830 | FILE_READ_ATTRIBUTES |
| 5.2.3790.3959 | FILE_READ_ATTRIBUTES |
| 6.0.6000.16386 | FILE_READ_ATTRIBUTES |
| 6.0.6002.18005 | FILE_READ_ATTRIBUTES |
| 6.1.7600.16385 | FILE_READ_ATTRIBUTES |
| 6.1.7601.17514 | FILE_READ_ATTRIBUTES |
| 6.2.9200.16384 | FILE_READ_ATTRIBUTES |
| 6.3.9600.16384 | FILE_READ_ATTRIBUTES |
| 10.0.10240.16515 | FILE_READ_ATTRIBUTES |
| 10.0.10586.0 | FILE_READ_ATTRIBUTES |
| 10.0.14393.0 | FILE_READ_ATTRIBUTES |
| 10.0.15063.0 | FILE_READ_ATTRIBUTES |
| 10.0.16299.15 | FILE_READ_ATTRIBUTES |
| 10.0.17134.1 | FILE_READ_ATTRIBUTES |
| 10.0.17763.1 | FILE_READ_ATTRIBUTES |
[Main table](README.md)
# NtQueryInformationFile: FileCaseSensitiveInformation == 71
| Windows version | Required access masks |
| --- | --- |
| 5.1.2600.0 | ![U](clock.png) |
| 5.2.3790.1830 | ![U](clock.png) |
| 5.2.3790.3959 | ![U](clock.png) |
| 6.0.6000.16386 | ![U](clock.png) |
| 6.0.6002.18005 | ![U](clock.png) |
| 6.1.7600.16385 | ![U](clock.png) |
| 6.1.7601.17514 | ![U](clock.png) |
| 6.2.9200.16384 | ![U](clock.png) |
| 6.3.9600.16384 | ![U](clock.png) |
| 10.0.10240.16515 | ![U](clock.png) |
| 10.0.10586.0 | ![U](clock.png) |
| 10.0.14393.0 | ![U](clock.png) |
| 10.0.15063.0 | ![U](clock.png) |
| 10.0.16299.15 | ![U](clock.png) |
| 10.0.17134.1 | ![A](plus_green.png) FILE_READ_ATTRIBUTES |
| 10.0.17763.1 | ![C](arrow_circle_double.png) 0 |
# Legend
| | Description |
| --- | --- |
| ![A](plus_green.png) | Started to be supported from this version |
| ![C](arrow_circle_double.png) | Changed from this version |
| ![U](clock.png) | Not yet supported for this version |
[Main table](README.md)
# NtQueryInformationFile: FileCaseSensitiveInformationForceAccessCheck == 75
| Windows version | Required access masks |
| --- | --- |
| 5.1.2600.0 | ![U](clock.png) |
| 5.2.3790.1830 | ![U](clock.png) |
| 5.2.3790.3959 | ![U](clock.png) |
| 6.0.6000.16386 | ![U](clock.png) |
| 6.0.6002.18005 | ![U](clock.png) |
| 6.1.7600.16385 | ![U](clock.png) |
| 6.1.7601.17514 | ![U](clock.png) |
| 6.2.9200.16384 | ![U](clock.png) |
| 6.3.9600.16384 | ![U](clock.png) |
| 10.0.10240.16515 | ![U](clock.png) |
| 10.0.10586.0 | ![U](clock.png) |
| 10.0.14393.0 | ![U](clock.png) |
| 10.0.15063.0 | ![U](clock.png) |
| 10.0.16299.15 | ![U](clock.png) |
| 10.0.17134.1 | ![U](clock.png) |
| 10.0.17763.1 | ![A](plus_green.png) 0 |
# Legend
| | Description |
| --- | --- |
| ![A](plus_green.png) | Started to be supported from this version |
| ![U](clock.png) | Not yet supported for this version |
[Main table](README.md)
# NtQueryInformationFile: FileCompressionInformation == 28
| Windows version | Required access masks |
| --- | --- |
| 5.1.2600.0 | 0 |
| 5.2.3790.1830 | 0 |
| 5.2.3790.3959 | 0 |
| 6.0.6000.16386 | 0 |
| 6.0.6002.18005 | 0 |
| 6.1.7600.16385 | 0 |
| 6.1.7601.17514 | 0 |
| 6.2.9200.16384 | 0 |
| 6.3.9600.16384 | 0 |
| 10.0.10240.16515 | 0 |
| 10.0.10586.0 | 0 |
| 10.0.14393.0 | 0 |
| 10.0.15063.0 | 0 |
| 10.0.16299.15 | 0 |
| 10.0.17134.1 | 0 |
| 10.0.17763.1 | 0 |
[Main table](README.md)
# NtQueryInformationFile: FileDesiredStorageClassInformation == 67
| Windows version | Required access masks |
| --- | --- |
| 5.1.2600.0 | ![U](clock.png) |
| 5.2.3790.1830 | ![U](clock.png) |
| 5.2.3790.3959 | ![U](clock.png) |
| 6.0.6000.16386 | ![U](clock.png) |
| 6.0.6002.18005 | ![U](clock.png) |
| 6.1.7600.16385 | ![U](clock.png) |
| 6.1.7601.17514 | ![U](clock.png) |
| 6.2.9200.16384 | ![U](clock.png) |
| 6.3.9600.16384 | ![U](clock.png) |
| 10.0.10240.16515 | ![U](clock.png) |
| 10.0.10586.0 | ![U](clock.png) |
| 10.0.14393.0 | ![U](clock.png) |
| 10.0.15063.0 | ![A](plus_green.png) FILE_READ_ATTRIBUTES |
| 10.0.16299.15 | FILE_READ_ATTRIBUTES |
| 10.0.17134.1 | FILE_READ_ATTRIBUTES |
| 10.0.17763.1 | FILE_READ_ATTRIBUTES |
# Legend
| | Description |
| --- | --- |
| ![A](plus_green.png) | Started to be supported from this version |
| ![U](clock.png) | Not yet supported for this version |
[Main table](README.md)
# NtQueryInformationFile: FileEaInformation == 7
| Windows version | Required access masks |
| --- | --- |
| 5.1.2600.0 | 0 |
| 5.2.3790.1830 | 0 |
| 5.2.3790.3959 | 0 |
| 6.0.6000.16386 | 0 |
| 6.0.6002.18005 | 0 |
| 6.1.7600.16385 | 0 |
| 6.1.7601.17514 | 0 |
| 6.2.9200.16384 | 0 |
| 6.3.9600.16384 | 0 |
| 10.0.10240.16515 | 0 |
| 10.0.10586.0 | 0 |
| 10.0.14393.0 | 0 |
| 10.0.15063.0 | 0 |
| 10.0.16299.15 | 0 |
| 10.0.17134.1 | 0 |
| 10.0.17763.1 | 0 |
[Main table](README.md)
# NtQueryInformationFile: FileHardLinkFullIdInformation == 62
| Windows version | Required access masks |
| --- | --- |
| 5.1.2600.0 | ![U](clock.png) |
| 5.2.3790.1830 | ![U](clock.png) |
| 5.2.3790.3959 | ![U](clock.png) |
| 6.0.6000.16386 | ![U](clock.png) |
| 6.0.6002.18005 | ![U](clock.png) |
| 6.1.7600.16385 | ![U](clock.png) |
| 6.1.7601.17514 | ![U](clock.png) |
| 6.2.9200.16384 | ![U](clock.png) |
| 6.3.9600.16384 | ![A](plus_green.png) 0 |
| 10.0.10240.16515 | 0 |
| 10.0.10586.0 | 0 |
| 10.0.14393.0 | 0 |
| 10.0.15063.0 | 0 |
| 10.0.16299.15 | 0 |
| 10.0.17134.1 | 0 |
| 10.0.17763.1 | 0 |
# Legend
| | Description |
| --- | --- |
| ![A](plus_green.png) | Started to be supported from this version |
| ![U](clock.png) | Not yet supported for this version |
[Main table](README.md)
# NtQueryInformationFile: FileHardLinkInformation == 46
| Windows version | Required access masks |
| --- | --- |
| 5.1.2600.0 | ![U](clock.png) |
| 5.2.3790.1830 | ![U](clock.png) |
| 5.2.3790.3959 | ![U](clock.png) |
| 6.0.6000.16386 | ![A](plus_green.png) 0 |
| 6.0.6002.18005 | 0 |
| 6.1.7600.16385 | 0 |
| 6.1.7601.17514 | 0 |
| 6.2.9200.16384 | 0 |
| 6.3.9600.16384 | 0 |
| 10.0.10240.16515 | 0 |
| 10.0.10586.0 | 0 |
| 10.0.14393.0 | 0 |
| 10.0.15063.0 | 0 |
| 10.0.16299.15 | 0 |
| 10.0.17134.1 | 0 |
| 10.0.17763.1 | 0 |
# Legend
| | Description |
| --- | --- |
| ![A](plus_green.png) | Started to be supported from this version |
| ![U](clock.png) | Not yet supported for this version |
[Main table](README.md)
# NtQueryInformationFile: FileIdInformation == 59
| Windows version | Required access masks |
| --- | --- |
| 5.1.2600.0 | ![U](clock.png) |
| 5.2.3790.1830 | ![U](clock.png) |
| 5.2.3790.3959 | ![U](clock.png) |
| 6.0.6000.16386 | ![U](clock.png) |
| 6.0.6002.18005 | ![U](clock.png) |
| 6.1.7600.16385 | ![U](clock.png) |
| 6.1.7601.17514 | ![U](clock.png) |
| 6.2.9200.16384 | ![A](plus_green.png) 0 |
| 6.3.9600.16384 | 0 |
| 10.0.10240.16515 | 0 |
| 10.0.10586.0 | 0 |
| 10.0.14393.0 | 0 |
| 10.0.15063.0 | 0 |
| 10.0.16299.15 | 0 |
| 10.0.17134.1 | 0 |
| 10.0.17763.1 | 0 |
# Legend
| | Description |
| --- | --- |
| ![A](plus_green.png) | Started to be supported from this version |
| ![U](clock.png) | Not yet supported for this version |
[Main table](README.md)
# NtQueryInformationFile: FileInternalInformation == 6
| Windows version | Required access masks |
| --- | --- |
| 5.1.2600.0 | 0 |
| 5.2.3790.1830 | 0 |
| 5.2.3790.3959 | 0 |
| 6.0.6000.16386 | 0 |
| 6.0.6002.18005 | 0 |
| 6.1.7600.16385 | 0 |
| 6.1.7601.17514 | 0 |
| 6.2.9200.16384 | 0 |
| 6.3.9600.16384 | 0 |
| 10.0.10240.16515 | 0 |
| 10.0.10586.0 | 0 |
| 10.0.14393.0 | 0 |
| 10.0.15063.0 | 0 |
| 10.0.16299.15 | 0 |
| 10.0.17134.1 | 0 |
| 10.0.17763.1 | 0 |
[Main table](README.md)
# NtQueryInformationFile: FileIoCompletionNotificationInformation == 41
| Windows version | Required access masks |
| --- | --- |
| 5.1.2600.0 | ![U](clock.png) |
| 5.2.3790.1830 | ![U](clock.png) |
| 5.2.3790.3959 | ![A](plus_green.png) FILE_READ_ATTRIBUTES |
| 6.0.6000.16386 | FILE_READ_ATTRIBUTES |
| 6.0.6002.18005 | FILE_READ_ATTRIBUTES |
| 6.1.7600.16385 | FILE_READ_ATTRIBUTES |
| 6.1.7601.17514 | FILE_READ_ATTRIBUTES |
| 6.2.9200.16384 | FILE_READ_ATTRIBUTES |
| 6.3.9600.16384 | FILE_READ_ATTRIBUTES |
| 10.0.10240.16515 | FILE_READ_ATTRIBUTES |
| 10.0.10586.0 | FILE_READ_ATTRIBUTES |
| 10.0.14393.0 | FILE_READ_ATTRIBUTES |
| 10.0.15063.0 | FILE_READ_ATTRIBUTES |
| 10.0.16299.15 | FILE_READ_ATTRIBUTES |
| 10.0.17134.1 | FILE_READ_ATTRIBUTES |
| 10.0.17763.1 | FILE_READ_ATTRIBUTES |
# Legend
| | Description |
| --- | --- |
| ![A](plus_green.png) | Started to be supported from this version |
| ![U](clock.png) | Not yet supported for this version |
[Main table](README.md)
# NtQueryInformationFile: FileIoPriorityHintInformation == 43
| Windows version | Required access masks |
| --- | --- |
| 5.1.2600.0 | ![U](clock.png) |
| 5.2.3790.1830 | ![U](clock.png) |
| 5.2.3790.3959 | ![U](clock.png) |
| 6.0.6000.16386 | ![A](plus_green.png) FILE_READ_DATA |
| 6.0.6002.18005 | FILE_READ_DATA |
| 6.1.7600.16385 | FILE_READ_DATA |
| 6.1.7601.17514 | FILE_READ_DATA |
| 6.2.9200.16384 | FILE_READ_DATA |
| 6.3.9600.16384 | FILE_READ_DATA |
| 10.0.10240.16515 | FILE_READ_DATA |
| 10.0.10586.0 | FILE_READ_DATA |
| 10.0.14393.0 | FILE_READ_DATA |
| 10.0.15063.0 | FILE_READ_DATA |
| 10.0.16299.15 | FILE_READ_DATA |
| 10.0.17134.1 | FILE_READ_DATA |
| 10.0.17763.1 | FILE_READ_DATA |
# Legend
| | Description |
| --- | --- |
| ![A](plus_green.png) | Started to be supported from this version |
| ![U](clock.png) | Not yet supported for this version |
[Main table](README.md)
# NtQueryInformationFile: FileIsRemoteDeviceInformation == 51
| Windows version | Required access masks |
| --- | --- |
| 5.1.2600.0 | ![U](clock.png) |
| 5.2.3790.1830 | ![U](clock.png) |
| 5.2.3790.3959 | ![U](clock.png) |
| 6.0.6000.16386 | ![U](clock.png) |
| 6.0.6002.18005 | ![U](clock.png) |
| 6.1.7600.16385 | ![A](plus_green.png) FILE_READ_ATTRIBUTES |
| 6.1.7601.17514 | FILE_READ_ATTRIBUTES |
| 6.2.9200.16384 | FILE_READ_ATTRIBUTES |
| 6.3.9600.16384 | FILE_READ_ATTRIBUTES |
| 10.0.10240.16515 | FILE_READ_ATTRIBUTES |
| 10.0.10586.0 | FILE_READ_ATTRIBUTES |
| 10.0.14393.0 | FILE_READ_ATTRIBUTES |
| 10.0.15063.0 | FILE_READ_ATTRIBUTES |
| 10.0.16299.15 | FILE_READ_ATTRIBUTES |
| 10.0.17134.1 | FILE_READ_ATTRIBUTES |
| 10.0.17763.1 | FILE_READ_ATTRIBUTES |
# Legend
| | Description |
| --- | --- |
| ![A](plus_green.png) | Started to be supported from this version |
| ![U](clock.png) | Not yet supported for this version |
[Main table](README.md)
# NtQueryInformationFile: FileMailslotQueryInformation == 26
| Windows version | Required access masks |
| --- | --- |
| 5.1.2600.0 | 0 |
| 5.2.3790.1830 | 0 |
| 5.2.3790.3959 | 0 |
| 6.0.6000.16386 | 0 |
| 6.0.6002.18005 | 0 |
| 6.1.7600.16385 | 0 |
| 6.1.7601.17514 | 0 |
| 6.2.9200.16384 | 0 |
| 6.3.9600.16384 | 0 |
| 10.0.10240.16515 | 0 |
| 10.0.10586.0 | 0 |
| 10.0.14393.0 | 0 |
| 10.0.15063.0 | 0 |
| 10.0.16299.15 | 0 |