VirtualBox

Changeset 78486 in vbox for trunk/include


Ignore:
Timestamp:
May 13, 2019 11:21:46 PM (6 years ago)
Author:
vboxsync
Message:

FsPerf,iprt/nt/nt.h: Buffer size testcase for NtQueryInformationFile. bugref:9172

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/iprt/nt/nt.h

    r78303 r78486  
    16091609NTSYSAPI NTSTATUS NTAPI NtQueryVolumeInformationFile(HANDLE, PIO_STATUS_BLOCK, PVOID, ULONG, FS_INFORMATION_CLASS);
    16101610
     1611typedef struct _FILE_DIRECTORY_INFORMATION
     1612{
     1613    ULONG           NextEntryOffset;
     1614    ULONG           FileIndex;
     1615    LARGE_INTEGER   CreationTime;
     1616    LARGE_INTEGER   LastAccessTime;
     1617    LARGE_INTEGER   LastWriteTime;
     1618    LARGE_INTEGER   ChangeTime;
     1619    LARGE_INTEGER   EndOfFile;
     1620    LARGE_INTEGER   AllocationSize;
     1621    ULONG           FileAttributes;
     1622    ULONG           FileNameLength;
     1623    WCHAR           FileName[1];
     1624} FILE_DIRECTORY_INFORMATION;
     1625typedef FILE_DIRECTORY_INFORMATION *PFILE_DIRECTORY_INFORMATION;
     1626typedef struct _FILE_FULL_DIR_INFORMATION
     1627{
     1628    ULONG           NextEntryOffset;
     1629    ULONG           FileIndex;
     1630    LARGE_INTEGER   CreationTime;
     1631    LARGE_INTEGER   LastAccessTime;
     1632    LARGE_INTEGER   LastWriteTime;
     1633    LARGE_INTEGER   ChangeTime;
     1634    LARGE_INTEGER   EndOfFile;
     1635    LARGE_INTEGER   AllocationSize;
     1636    ULONG           FileAttributes;
     1637    ULONG           FileNameLength;
     1638    ULONG           EaSize;
     1639    WCHAR           FileName[1];
     1640} FILE_FULL_DIR_INFORMATION;
     1641typedef FILE_FULL_DIR_INFORMATION *PFILE_FULL_DIR_INFORMATION;
    16111642typedef struct _FILE_BOTH_DIR_INFORMATION
    16121643{
     
    16511682} FILE_NAME_INFORMATION;
    16521683typedef FILE_NAME_INFORMATION *PFILE_NAME_INFORMATION;
     1684typedef FILE_NAME_INFORMATION FILE_NETWORK_PHYSICAL_NAME_INFORMATION;
     1685typedef FILE_NETWORK_PHYSICAL_NAME_INFORMATION *PFILE_NETWORK_PHYSICAL_NAME_INFORMATION;
     1686typedef struct _FILE_INTERNAL_INFORMATION
     1687{
     1688    LARGE_INTEGER   IndexNumber;
     1689} FILE_INTERNAL_INFORMATION;
     1690typedef FILE_INTERNAL_INFORMATION *PFILE_INTERNAL_INFORMATION;
     1691typedef struct _FILE_EA_INFORMATION
     1692{
     1693    ULONG           EaSize;
     1694} FILE_EA_INFORMATION;
     1695typedef FILE_EA_INFORMATION *PFILE_EA_INFORMATION;
     1696typedef struct _FILE_ACCESS_INFORMATION
     1697{
     1698    ACCESS_MASK     AccessFlags;
     1699} FILE_ACCESS_INFORMATION;
     1700typedef FILE_ACCESS_INFORMATION *PFILE_ACCESS_INFORMATION;
     1701typedef struct _FILE_RENAME_INFORMATION
     1702{
     1703    union
     1704    {
     1705        BOOLEAN     ReplaceIfExists;
     1706        ULONG       Flags;
     1707    };
     1708    HANDLE          RootDirectory;
     1709    ULONG           FileNameLength;
     1710    WCHAR           FileName[1];
     1711} FILE_RENAME_INFORMATION;
     1712typedef FILE_RENAME_INFORMATION *PFILE_RENAME_INFORMATION;
     1713typedef struct _FILE_LINK_INFORMATION
     1714{
     1715    union
     1716    {
     1717        BOOLEAN     ReplaceIfExists;
     1718        ULONG       Flags;
     1719    };
     1720    HANDLE          RootDirectory;
     1721    ULONG           FileNameLength;
     1722    WCHAR           FileName[1];
     1723} FILE_LINK_INFORMATION;
     1724typedef FILE_LINK_INFORMATION *PFILE_LINK_INFORMATION;
     1725typedef struct _FILE_NAMES_INFORMATION
     1726{
     1727    ULONG           NextEntryOffset;
     1728    ULONG           FileIndex;
     1729    ULONG           FileNameLength;
     1730    WCHAR           FileName[1];
     1731} FILE_NAMES_INFORMATION;
     1732typedef FILE_NAMES_INFORMATION *PFILE_NAMES_INFORMATION;
     1733typedef struct _FILE_DISPOSITION_INFORMATION
     1734{
     1735    BOOLEAN         DeleteFile;
     1736} FILE_DISPOSITION_INFORMATION;
     1737typedef FILE_DISPOSITION_INFORMATION *PFILE_DISPOSITION_INFORMATION;
     1738typedef struct _FILE_POSITION_INFORMATION
     1739{
     1740    LARGE_INTEGER   CurrentByteOffset;
     1741} FILE_POSITION_INFORMATION;
     1742typedef FILE_POSITION_INFORMATION *PFILE_POSITION_INFORMATION;
     1743typedef struct _FILE_FULL_EA_INFORMATION
     1744{
     1745    ULONG           NextEntryOffset;
     1746    UCHAR           Flags;
     1747    UCHAR           EaNameLength;
     1748    USHORT          EaValueLength;
     1749    CHAR            EaName[1];
     1750} FILE_FULL_EA_INFORMATION;
     1751typedef FILE_FULL_EA_INFORMATION *PFILE_FULL_EA_INFORMATION;
     1752typedef struct _FILE_MODE_INFORMATION
     1753{
     1754    ULONG           Mode;
     1755} FILE_MODE_INFORMATION;
     1756typedef FILE_MODE_INFORMATION *PFILE_MODE_INFORMATION;
     1757typedef struct _FILE_ALIGNMENT_INFORMATION
     1758{
     1759    ULONG           AlignmentRequirement;
     1760} FILE_ALIGNMENT_INFORMATION;
     1761typedef FILE_ALIGNMENT_INFORMATION *PFILE_ALIGNMENT_INFORMATION;
     1762typedef struct _FILE_ALL_INFORMATION
     1763{
     1764    FILE_BASIC_INFORMATION      BasicInformation;
     1765    FILE_STANDARD_INFORMATION   StandardInformation;
     1766    FILE_INTERNAL_INFORMATION   InternalInformation;
     1767    FILE_EA_INFORMATION         EaInformation;
     1768    FILE_ACCESS_INFORMATION     AccessInformation;
     1769    FILE_POSITION_INFORMATION   PositionInformation;
     1770    FILE_MODE_INFORMATION       ModeInformation;
     1771    FILE_ALIGNMENT_INFORMATION  AlignmentInformation;
     1772    FILE_NAME_INFORMATION       NameInformation;
     1773} FILE_ALL_INFORMATION;
     1774typedef FILE_ALL_INFORMATION *PFILE_ALL_INFORMATION;
     1775typedef struct _FILE_ALLOCATION_INFORMATION
     1776{
     1777    LARGE_INTEGER   AllocationSize;
     1778} FILE_ALLOCATION_INFORMATION;
     1779typedef FILE_ALLOCATION_INFORMATION *PFILE_ALLOCATION_INFORMATION;
     1780typedef struct _FILE_END_OF_FILE_INFORMATION
     1781{
     1782    LARGE_INTEGER   EndOfFile;
     1783} FILE_END_OF_FILE_INFORMATION;
     1784typedef FILE_END_OF_FILE_INFORMATION *PFILE_END_OF_FILE_INFORMATION;
     1785typedef struct _FILE_STREAM_INFORMATION
     1786{
     1787    ULONG           NextEntryOffset;
     1788    ULONG           StreamNameLength;
     1789    LARGE_INTEGER   StreamSize;
     1790    LARGE_INTEGER   StreamAllocationSize;
     1791    WCHAR           StreamName[1];
     1792} FILE_STREAM_INFORMATION;
     1793typedef FILE_STREAM_INFORMATION *PFILE_STREAM_INFORMATION;
     1794typedef struct _FILE_PIPE_INFORMATION
     1795{
     1796    ULONG           ReadMode;
     1797    ULONG           CompletionMode;
     1798} FILE_PIPE_INFORMATION;
     1799typedef FILE_PIPE_INFORMATION *PFILE_PIPE_INFORMATION;
     1800
     1801typedef struct _FILE_PIPE_LOCAL_INFORMATION
     1802{
     1803    ULONG           NamedPipeType;
     1804    ULONG           NamedPipeConfiguration;
     1805    ULONG           MaximumInstances;
     1806    ULONG           CurrentInstances;
     1807    ULONG           InboundQuota;
     1808    ULONG           ReadDataAvailable;
     1809    ULONG           OutboundQuota;
     1810    ULONG           WriteQuotaAvailable;
     1811    ULONG           NamedPipeState;
     1812    ULONG           NamedPipeEnd;
     1813} FILE_PIPE_LOCAL_INFORMATION;
     1814typedef FILE_PIPE_LOCAL_INFORMATION *PFILE_PIPE_LOCAL_INFORMATION;
     1815
     1816typedef struct _FILE_PIPE_REMOTE_INFORMATION
     1817{
     1818    LARGE_INTEGER   CollectDataTime;
     1819    ULONG           MaximumCollectionCount;
     1820} FILE_PIPE_REMOTE_INFORMATION;
     1821typedef FILE_PIPE_REMOTE_INFORMATION *PFILE_PIPE_REMOTE_INFORMATION;
     1822typedef struct _FILE_MAILSLOT_QUERY_INFORMATION
     1823{
     1824    ULONG           MaximumMessageSize;
     1825    ULONG           MailslotQuota;
     1826    ULONG           NextMessageSize;
     1827    ULONG           MessagesAvailable;
     1828    LARGE_INTEGER   ReadTimeout;
     1829} FILE_MAILSLOT_QUERY_INFORMATION;
     1830typedef FILE_MAILSLOT_QUERY_INFORMATION *PFILE_MAILSLOT_QUERY_INFORMATION;
     1831typedef struct _FILE_MAILSLOT_SET_INFORMATION
     1832{
     1833    PLARGE_INTEGER  ReadTimeout;
     1834} FILE_MAILSLOT_SET_INFORMATION;
     1835typedef FILE_MAILSLOT_SET_INFORMATION *PFILE_MAILSLOT_SET_INFORMATION;
     1836typedef struct _FILE_COMPRESSION_INFORMATION
     1837{
     1838    LARGE_INTEGER   CompressedFileSize;
     1839    USHORT          CompressionFormat;
     1840    UCHAR           CompressionUnitShift;
     1841    UCHAR           ChunkShift;
     1842    UCHAR           ClusterShift;
     1843    UCHAR           Reserved[3];
     1844} FILE_COMPRESSION_INFORMATION;
     1845typedef FILE_COMPRESSION_INFORMATION *PFILE_COMPRESSION_INFORMATION;
     1846typedef struct _FILE_OBJECTID_INFORMATION
     1847{
     1848    LONGLONG        FileReference;
     1849    UCHAR           ObjectId[16];
     1850    union
     1851    {
     1852        struct
     1853        {
     1854            UCHAR   BirthVolumeId[16];
     1855            UCHAR   BirthObjectId[16];
     1856            UCHAR   DomainId[16];
     1857        };
     1858        UCHAR       ExtendedInfo[48];
     1859    };
     1860} FILE_OBJECTID_INFORMATION;
     1861typedef FILE_OBJECTID_INFORMATION *PFILE_OBJECTID_INFORMATION;
     1862typedef struct _FILE_COMPLETION_INFORMATION
     1863{
     1864    HANDLE          Port;
     1865    PVOID           Key;
     1866} FILE_COMPLETION_INFORMATION;
     1867typedef FILE_COMPLETION_INFORMATION *PFILE_COMPLETION_INFORMATION;
     1868typedef struct _FILE_MOVE_CLUSTER_INFORMATION
     1869{
     1870    ULONG           ClusterCount;
     1871    HANDLE          RootDirectory;
     1872    ULONG           FileNameLength;
     1873    WCHAR           FileName[1];
     1874} FILE_MOVE_CLUSTER_INFORMATION;
     1875typedef FILE_MOVE_CLUSTER_INFORMATION *PFILE_MOVE_CLUSTER_INFORMATION;
     1876typedef struct _FILE_QUOTA_INFORMATION
     1877{
     1878    ULONG           NextEntryOffset;
     1879    ULONG           SidLength;
     1880    LARGE_INTEGER   ChangeTime;
     1881    LARGE_INTEGER   QuotaUsed;
     1882    LARGE_INTEGER   QuotaThreshold;
     1883    LARGE_INTEGER   QuotaLimit;
     1884    SID             Sid;
     1885} FILE_QUOTA_INFORMATION;
     1886typedef FILE_QUOTA_INFORMATION *PFILE_QUOTA_INFORMATION;
     1887typedef struct _FILE_REPARSE_POINT_INFORMATION
     1888{
     1889    LONGLONG        FileReference;
     1890    ULONG           Tag;
     1891} FILE_REPARSE_POINT_INFORMATION;
     1892typedef FILE_REPARSE_POINT_INFORMATION *PFILE_REPARSE_POINT_INFORMATION;
    16531893typedef struct _FILE_NETWORK_OPEN_INFORMATION
    16541894{
     
    16621902} FILE_NETWORK_OPEN_INFORMATION;
    16631903typedef FILE_NETWORK_OPEN_INFORMATION *PFILE_NETWORK_OPEN_INFORMATION;
     1904typedef struct _FILE_ATTRIBUTE_TAG_INFORMATION
     1905{
     1906    ULONG           FileAttributes;
     1907    ULONG           ReparseTag;
     1908} FILE_ATTRIBUTE_TAG_INFORMATION;
     1909typedef FILE_ATTRIBUTE_TAG_INFORMATION *PFILE_ATTRIBUTE_TAG_INFORMATION;
     1910typedef struct _FILE_TRACKING_INFORMATION
     1911{
     1912    HANDLE          DestinationFile;
     1913    ULONG           ObjectInformationLength;
     1914    CHAR            ObjectInformation[1];
     1915} FILE_TRACKING_INFORMATION;
     1916typedef FILE_TRACKING_INFORMATION *PFILE_TRACKING_INFORMATION;
     1917typedef struct _FILE_ID_BOTH_DIR_INFORMATION
     1918{
     1919    ULONG           NextEntryOffset;
     1920    ULONG           FileIndex;
     1921    LARGE_INTEGER   CreationTime;
     1922    LARGE_INTEGER   LastAccessTime;
     1923    LARGE_INTEGER   LastWriteTime;
     1924    LARGE_INTEGER   ChangeTime;
     1925    LARGE_INTEGER   EndOfFile;
     1926    LARGE_INTEGER   AllocationSize;
     1927    ULONG           FileAttributes;
     1928    ULONG           FileNameLength;
     1929    ULONG           EaSize;
     1930    CCHAR           ShortNameLength;
     1931    WCHAR           ShortName[12];
     1932    LARGE_INTEGER   FileId;
     1933    WCHAR           FileName[1];
     1934} FILE_ID_BOTH_DIR_INFORMATION;
     1935typedef FILE_ID_BOTH_DIR_INFORMATION *PFILE_ID_BOTH_DIR_INFORMATION;
     1936typedef struct _FILE_ID_FULL_DIR_INFORMATION
     1937{
     1938    ULONG           NextEntryOffset;
     1939    ULONG           FileIndex;
     1940    LARGE_INTEGER   CreationTime;
     1941    LARGE_INTEGER   LastAccessTime;
     1942    LARGE_INTEGER   LastWriteTime;
     1943    LARGE_INTEGER   ChangeTime;
     1944    LARGE_INTEGER   EndOfFile;
     1945    LARGE_INTEGER   AllocationSize;
     1946    ULONG           FileAttributes;
     1947    ULONG           FileNameLength;
     1948    ULONG           EaSize;
     1949    LARGE_INTEGER   FileId;
     1950    WCHAR           FileName[1];
     1951} FILE_ID_FULL_DIR_INFORMATION;
     1952typedef FILE_ID_FULL_DIR_INFORMATION *PFILE_ID_FULL_DIR_INFORMATION;
     1953typedef struct _FILE_VALID_DATA_LENGTH_INFORMATION
     1954{
     1955    LARGE_INTEGER   ValidDataLength;
     1956} FILE_VALID_DATA_LENGTH_INFORMATION;
     1957typedef FILE_VALID_DATA_LENGTH_INFORMATION *PFILE_VALID_DATA_LENGTH_INFORMATION;
     1958typedef struct _FILE_IO_COMPLETION_NOTIFICATION_INFORMATION
     1959{
     1960    ULONG           Flags;
     1961} FILE_IO_COMPLETION_NOTIFICATION_INFORMATION;
     1962typedef FILE_IO_COMPLETION_NOTIFICATION_INFORMATION *PFILE_IO_COMPLETION_NOTIFICATION_INFORMATION;
     1963typedef enum _IO_PRIORITY_HINT
     1964{
     1965    IoPriorityVeryLow = 0,
     1966    IoPriorityLow,
     1967    IoPriorityNormal,
     1968    IoPriorityHigh,
     1969    IoPriorityCritical,
     1970    MaxIoPriorityTypes
     1971} IO_PRIORITY_HINT;
     1972AssertCompileSize(IO_PRIORITY_HINT, sizeof(int));
     1973typedef struct _FILE_IO_PRIORITY_HINT_INFORMATION
     1974{
     1975    IO_PRIORITY_HINT    PriorityHint;
     1976} FILE_IO_PRIORITY_HINT_INFORMATION;
     1977typedef FILE_IO_PRIORITY_HINT_INFORMATION *PFILE_IO_PRIORITY_HINT_INFORMATION;
     1978typedef struct _FILE_SFIO_RESERVE_INFORMATION
     1979{
     1980    ULONG           RequestsPerPeriod;
     1981    ULONG           Period;
     1982    BOOLEAN         RetryFailures;
     1983    BOOLEAN         Discardable;
     1984    ULONG           RequestSize;
     1985    ULONG           NumOutstandingRequests;
     1986} FILE_SFIO_RESERVE_INFORMATION;
     1987typedef FILE_SFIO_RESERVE_INFORMATION *PFILE_SFIO_RESERVE_INFORMATION;
     1988typedef struct _FILE_SFIO_VOLUME_INFORMATION
     1989{
     1990    ULONG           MaximumRequestsPerPeriod;
     1991    ULONG           MinimumPeriod;
     1992    ULONG           MinimumTransferSize;
     1993} FILE_SFIO_VOLUME_INFORMATION;
     1994typedef FILE_SFIO_VOLUME_INFORMATION *PFILE_SFIO_VOLUME_INFORMATION;
     1995typedef struct _FILE_LINK_ENTRY_INFORMATION
     1996{
     1997    ULONG           NextEntryOffset;
     1998    LONGLONG        ParentFileId;
     1999    ULONG           FileNameLength;
     2000    WCHAR           FileName[1];
     2001} FILE_LINK_ENTRY_INFORMATION;
     2002typedef FILE_LINK_ENTRY_INFORMATION *PFILE_LINK_ENTRY_INFORMATION;
     2003typedef struct _FILE_LINKS_INFORMATION
     2004{
     2005    ULONG                       BytesNeeded;
     2006    ULONG                       EntriesReturned;
     2007    FILE_LINK_ENTRY_INFORMATION Entry;
     2008} FILE_LINKS_INFORMATION;
     2009typedef FILE_LINKS_INFORMATION *PFILE_LINKS_INFORMATION;
     2010typedef struct _FILE_PROCESS_IDS_USING_FILE_INFORMATION
     2011{
     2012    ULONG           NumberOfProcessIdsInList;
     2013    ULONG_PTR       ProcessIdList[1];
     2014} FILE_PROCESS_IDS_USING_FILE_INFORMATION;
     2015typedef FILE_PROCESS_IDS_USING_FILE_INFORMATION *PFILE_PROCESS_IDS_USING_FILE_INFORMATION;
     2016typedef struct _FILE_ID_GLOBAL_TX_DIR_INFORMATION
     2017{
     2018    ULONG           NextEntryOffset;
     2019    ULONG           FileIndex;
     2020    LARGE_INTEGER   CreationTime;
     2021    LARGE_INTEGER   LastAccessTime;
     2022    LARGE_INTEGER   LastWriteTime;
     2023    LARGE_INTEGER   ChangeTime;
     2024    LARGE_INTEGER   EndOfFile;
     2025    LARGE_INTEGER   AllocationSize;
     2026    ULONG           FileAttributes;
     2027    ULONG           FileNameLength;
     2028    LARGE_INTEGER   FileId;
     2029    GUID            LockingTransactionId;
     2030    ULONG           TxInfoFlags;
     2031    WCHAR           FileName[1];
     2032} FILE_ID_GLOBAL_TX_DIR_INFORMATION;
     2033typedef FILE_ID_GLOBAL_TX_DIR_INFORMATION *PFILE_ID_GLOBAL_TX_DIR_INFORMATION;
     2034typedef struct _FILE_IS_REMOTE_DEVICE_INFORMATION
     2035{
     2036    BOOLEAN         IsRemote;
     2037} FILE_IS_REMOTE_DEVICE_INFORMATION;
     2038typedef FILE_IS_REMOTE_DEVICE_INFORMATION *PFILE_IS_REMOTE_DEVICE_INFORMATION;
     2039typedef struct _FILE_NUMA_NODE_INFORMATION
     2040{
     2041    USHORT          NodeNumber;
     2042} FILE_NUMA_NODE_INFORMATION;
     2043typedef FILE_NUMA_NODE_INFORMATION *PFILE_NUMA_NODE_INFORMATION;
     2044typedef struct _FILE_STANDARD_LINK_INFORMATION
     2045{
     2046    ULONG           NumberOfAccessibleLinks;
     2047    ULONG           TotalNumberOfLinks;
     2048    BOOLEAN         DeletePending;
     2049    BOOLEAN         Directory;
     2050} FILE_STANDARD_LINK_INFORMATION;
     2051typedef FILE_STANDARD_LINK_INFORMATION *PFILE_STANDARD_LINK_INFORMATION;
     2052typedef struct _FILE_REMOTE_PROTOCOL_INFORMATION
     2053{
     2054    USHORT          StructureVersion;
     2055    USHORT          StructureSize;
     2056    ULONG           Protocol;
     2057    USHORT          ProtocolMajorVersion;
     2058    USHORT          ProtocolMinorVersion;
     2059    USHORT          ProtocolRevision;
     2060    USHORT          Reserved;
     2061    ULONG           Flags;
     2062    struct
     2063    {
     2064        ULONG       Reserved[8];
     2065    }               GenericReserved;
     2066    struct
     2067    {
     2068        ULONG       Reserved[16];
     2069    }               ProtocolSpecificReserved;
     2070} FILE_REMOTE_PROTOCOL_INFORMATION;
     2071typedef FILE_REMOTE_PROTOCOL_INFORMATION *PFILE_REMOTE_PROTOCOL_INFORMATION;
     2072typedef struct _FILE_VOLUME_NAME_INFORMATION
     2073{
     2074    ULONG           DeviceNameLength;
     2075    WCHAR           DeviceName[1];
     2076} FILE_VOLUME_NAME_INFORMATION;
     2077typedef FILE_VOLUME_NAME_INFORMATION *PFILE_VOLUME_NAME_INFORMATION;
     2078# ifndef FILE_INVALID_FILE_ID
     2079typedef struct _FILE_ID_128
     2080{
     2081    BYTE            Identifier[16];
     2082} FILE_ID_128;
     2083typedef FILE_ID_128 *PFILE_ID_128;
     2084# endif
     2085typedef struct _FILE_ID_EXTD_DIR_INFORMATION
     2086{
     2087    ULONG           NextEntryOffset;
     2088    ULONG           FileIndex;
     2089    LARGE_INTEGER   CreationTime;
     2090    LARGE_INTEGER   LastAccessTime;
     2091    LARGE_INTEGER   LastWriteTime;
     2092    LARGE_INTEGER   ChangeTime;
     2093    LARGE_INTEGER   EndOfFile;
     2094    LARGE_INTEGER   AllocationSize;
     2095    ULONG           FileAttributes;
     2096    ULONG           FileNameLength;
     2097    ULONG           EaSize;
     2098    ULONG           ReparsePointTag;
     2099    FILE_ID_128     FileId;
     2100    WCHAR           FileName[1];
     2101} FILE_ID_EXTD_DIR_INFORMATION;
     2102typedef FILE_ID_EXTD_DIR_INFORMATION *PFILE_ID_EXTD_DIR_INFORMATION;
     2103typedef struct _FILE_ID_EXTD_BOTH_DIR_INFORMATION
     2104{
     2105    ULONG           NextEntryOffset;
     2106    ULONG           FileIndex;
     2107    LARGE_INTEGER   CreationTime;
     2108    LARGE_INTEGER   LastAccessTime;
     2109    LARGE_INTEGER   LastWriteTime;
     2110    LARGE_INTEGER   ChangeTime;
     2111    LARGE_INTEGER   EndOfFile;
     2112    LARGE_INTEGER   AllocationSize;
     2113    ULONG           FileAttributes;
     2114    ULONG           FileNameLength;
     2115    ULONG           EaSize;
     2116    ULONG           ReparsePointTag;
     2117    FILE_ID_128     FileId;
     2118    CCHAR           ShortNameLength;
     2119    WCHAR           ShortName[12];
     2120    WCHAR           FileName[1];
     2121} FILE_ID_EXTD_BOTH_DIR_INFORMATION;
     2122typedef FILE_ID_EXTD_BOTH_DIR_INFORMATION *PFILE_ID_EXTD_BOTH_DIR_INFORMATION;
     2123typedef struct _FILE_ID_INFORMATION
     2124{
     2125    ULONGLONG       VolumeSerialNumber;
     2126    FILE_ID_128     FileId;
     2127} FILE_ID_INFORMATION;
     2128typedef FILE_ID_INFORMATION *PFILE_ID_INFORMATION;
     2129typedef struct _FILE_LINK_ENTRY_FULL_ID_INFORMATION
     2130{
     2131    ULONG           NextEntryOffset;
     2132    FILE_ID_128     ParentFileId;
     2133    ULONG           FileNameLength;
     2134    WCHAR           FileName[1];
     2135} FILE_LINK_ENTRY_FULL_ID_INFORMATION;
     2136typedef FILE_LINK_ENTRY_FULL_ID_INFORMATION *PFILE_LINK_ENTRY_FULL_ID_INFORMATION;
     2137typedef struct _FILE_LINKS_FULL_ID_INFORMATION {
     2138    ULONG                                   BytesNeeded;
     2139    ULONG                                   EntriesReturned;
     2140    FILE_LINK_ENTRY_FULL_ID_INFORMATION     Entry;
     2141} FILE_LINKS_FULL_ID_INFORMATION;
     2142typedef FILE_LINKS_FULL_ID_INFORMATION *PFILE_LINKS_FULL_ID_INFORMATION;
     2143typedef struct _FILE_DISPOSITION_INFORMATION_EX
     2144{
     2145    ULONG           Flags;
     2146} FILE_DISPOSITION_INFORMATION_EX;
     2147typedef FILE_DISPOSITION_INFORMATION_EX *PFILE_DISPOSITION_INFORMATION_EX;
     2148typedef struct _FILE_DESIRED_STORAGE_CLASS_INFORMATION
     2149{
     2150    /*FILE_STORAGE_TIER_CLASS*/ ULONG   Class;
     2151    ULONG                               Flags;
     2152} FILE_DESIRED_STORAGE_CLASS_INFORMATION;
     2153typedef FILE_DESIRED_STORAGE_CLASS_INFORMATION *PFILE_DESIRED_STORAGE_CLASS_INFORMATION;
     2154typedef struct _FILE_STAT_INFORMATION
     2155{
     2156    LARGE_INTEGER   FileId;
     2157    LARGE_INTEGER   CreationTime;
     2158    LARGE_INTEGER   LastAccessTime;
     2159    LARGE_INTEGER   LastWriteTime;
     2160    LARGE_INTEGER   ChangeTime;
     2161    LARGE_INTEGER   AllocationSize;
     2162    LARGE_INTEGER   EndOfFile;
     2163    ULONG           FileAttributes;
     2164    ULONG           ReparseTag;
     2165    ULONG           NumberOfLinks;
     2166    ACCESS_MASK     EffectiveAccess;
     2167} FILE_STAT_INFORMATION;
     2168typedef FILE_STAT_INFORMATION *PFILE_STAT_INFORMATION;
     2169typedef struct _FILE_STAT_LX_INFORMATION
     2170{
     2171    LARGE_INTEGER   FileId;
     2172    LARGE_INTEGER   CreationTime;
     2173    LARGE_INTEGER   LastAccessTime;
     2174    LARGE_INTEGER   LastWriteTime;
     2175    LARGE_INTEGER   ChangeTime;
     2176    LARGE_INTEGER   AllocationSize;
     2177    LARGE_INTEGER   EndOfFile;
     2178    ULONG           FileAttributes;
     2179    ULONG           ReparseTag;
     2180    ULONG           NumberOfLinks;
     2181    ACCESS_MASK     EffectiveAccess;
     2182    ULONG           LxFlags;
     2183    ULONG           LxUid;
     2184    ULONG           LxGid;
     2185    ULONG           LxMode;
     2186    ULONG           LxDeviceIdMajor;
     2187    ULONG           LxDeviceIdMinor;
     2188} FILE_STAT_LX_INFORMATION;
     2189typedef FILE_STAT_LX_INFORMATION *PFILE_STAT_LX_INFORMATION;
     2190typedef struct _FILE_CASE_SENSITIVE_INFORMATION
     2191{
     2192    ULONG           Flags;
     2193} FILE_CASE_SENSITIVE_INFORMATION;
     2194typedef FILE_CASE_SENSITIVE_INFORMATION *PFILE_CASE_SENSITIVE_INFORMATION;
     2195
    16642196typedef enum _FILE_INFORMATION_CLASS
    16652197{
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette