VirtualBox

Changeset 59366 in vbox


Ignore:
Timestamp:
Jan 17, 2016 5:43:30 AM (9 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
105054
Message:

iprt/nt/nt.h: Added NtQueryKey and NtEnumerateKey.

Location:
trunk
Files:
2 edited

Legend:

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

    r57922 r59366  
    15381538NTSYSAPI NTSTATUS NTAPI NtQueryDirectoryFile(HANDLE, HANDLE, PIO_APC_ROUTINE, PVOID, PIO_STATUS_BLOCK, PVOID, ULONG,
    15391539                                             FILE_INFORMATION_CLASS, BOOLEAN, PUNICODE_STRING, BOOLEAN);
     1540
     1541/** For use with KeyBasicInformation. */
     1542typedef struct _KEY_BASIC_INFORMATION
     1543{
     1544    LARGE_INTEGER   LastWriteTime;
     1545    ULONG           TitleIndex;
     1546    ULONG           NameLength;
     1547    WCHAR           Name[1];
     1548} KEY_BASIC_INFORMATION;
     1549typedef KEY_BASIC_INFORMATION *PKEY_BASIC_INFORMATION;
     1550
     1551/** For use with KeyNodeInformation. */
     1552typedef struct _KEY_NODE_INFORMATION
     1553{
     1554    LARGE_INTEGER   LastWriteTime;
     1555    ULONG           TitleIndex;
     1556    ULONG           ClassOffset; /**< Offset from the start of the structure. */
     1557    ULONG           ClassLength;
     1558    ULONG           NameLength;
     1559    WCHAR           Name[1];
     1560} KEY_NODE_INFORMATION;
     1561typedef KEY_NODE_INFORMATION *PKEY_NODE_INFORMATION;
     1562
     1563/** For use with KeyFullInformation. */
     1564typedef struct _KEY_FULL_INFORMATION
     1565{
     1566    LARGE_INTEGER   LastWriteTime;
     1567    ULONG           TitleIndex;
     1568    ULONG           ClassOffset; /**< Offset of the Class member. */
     1569    ULONG           ClassLength;
     1570    ULONG           SubKeys;
     1571    ULONG           MaxNameLen;
     1572    ULONG           MaxClassLen;
     1573    ULONG           Values;
     1574    ULONG           MaxValueNameLen;
     1575    ULONG           MaxValueDataLen;
     1576    WCHAR           Class[1];
     1577} KEY_FULL_INFORMATION;
     1578typedef KEY_FULL_INFORMATION *PKEY_FULL_INFORMATION;
     1579
     1580/** For use with KeyNameInformation. */
     1581typedef struct _KEY_NAME_INFORMATION
     1582{
     1583    ULONG           NameLength;
     1584    WCHAR           Name[1];
     1585} KEY_NAME_INFORMATION;
     1586typedef KEY_NAME_INFORMATION *PKEY_NAME_INFORMATION;
     1587
     1588/** For use with KeyCachedInformation. */
     1589typedef struct _KEY_CACHED_INFORMATION
     1590{
     1591    LARGE_INTEGER   LastWriteTime;
     1592    ULONG           TitleIndex;
     1593    ULONG           SubKeys;
     1594    ULONG           MaxNameLen;
     1595    ULONG           Values;
     1596    ULONG           MaxValueNameLen;
     1597    ULONG           MaxValueDataLen;
     1598    ULONG           NameLength;
     1599} KEY_CACHED_INFORMATION;
     1600typedef KEY_CACHED_INFORMATION *PKEY_CACHED_INFORMATION;
     1601
     1602/** For use with KeyVirtualizationInformation. */
     1603typedef struct _KEY_VIRTUALIZATION_INFORMATION
     1604{
     1605    ULONG           VirtualizationCandidate : 1;
     1606    ULONG           VirtualizationEnabled   : 1;
     1607    ULONG           VirtualTarget           : 1;
     1608    ULONG           VirtualStore            : 1;
     1609    ULONG           VirtualSource           : 1;
     1610    ULONG           Reserved                : 27;
     1611} KEY_VIRTUALIZATION_INFORMATION;
     1612typedef KEY_VIRTUALIZATION_INFORMATION *PKEY_VIRTUALIZATION_INFORMATION;
     1613
     1614typedef enum _KEY_INFORMATION_CLASS
     1615{
     1616    KeyBasicInformation = 0,
     1617    KeyNodeInformation,
     1618    KeyFullInformation,
     1619    KeyNameInformation,
     1620    KeyCachedInformation,
     1621    KeyFlagsInformation,
     1622    KeyVirtualizationInformation,
     1623    KeyHandleTagsInformation,
     1624    MaxKeyInfoClass
     1625} KEY_INFORMATION_CLASS;
     1626NTSYSAPI NTSTATUS NTAPI NtQueryKey(HANDLE, KEY_INFORMATION_CLASS, PVOID, ULONG, PULONG);
     1627NTSYSAPI NTSTATUS NTAPI NtEnumerateKey(HANDLE, ULONG, KEY_INFORMATION_CLASS, PVOID, ULONG, PULONG);
    15401628
    15411629typedef struct _MEMORY_SECTION_NAME
  • trunk/src/VBox/Runtime/r3/win/ntdll-mini-implib.def

    r54998 r59366  
    4242    NtDeviceIoControlFile                 ;;= _NtDeviceIoControlFile@40
    4343    NtDuplicateObject                     ;;= _NtDuplicateObject@28
     44    NtEnumerateKey                        ;;= _NtEnumerateKey@24
    4445    NtFlushBuffersFile                    ;;= _NtFlushBuffersFile@8
    4546    NtFreeVirtualMemory                   ;;= _NtFreeVirtualMemory@16
     
    6263    NtQueryInformationThread              ;;= _NtQueryInformationThread@20
    6364    NtQueryInformationToken               ;;= _NtQueryInformationToken@20
     65    NtQueryKey                            ;;= _NtQueryKey@20
    6466    NtQueryObject                         ;;= _NtQueryObject@20
    6567    NtQuerySecurityObject                 ;;= _NtQuerySecurityObject@20
Note: See TracChangeset for help on using the changeset viewer.

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