Changeset 52139 in vbox for trunk/include/iprt
- Timestamp:
- Jul 22, 2014 8:19:29 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/iprt/nt/nt.h
r52103 r52139 66 66 #define TEB Incomplete_TEB 67 67 #define PTEB Incomplete_PTEB 68 #define _PEB_LDR_DATA Incomplete__PEB_LDR_DATA 69 #define PEB_LDR_DATA Incomplete_PEB_LDR_DATA 70 #define PPEB_LDR_DATA Incomplete_PPEB_LDR_DATA 68 71 69 72 … … 198 201 #undef TEB 199 202 #undef PTEB 203 #undef _PEB_LDR_DATA 204 #undef PEB_LDR_DATA 205 #undef PPEB_LDR_DATA 200 206 201 207 … … 357 363 * @{ */ 358 364 365 typedef struct _PEB_LDR_DATA 366 { 367 uint32_t Length; 368 BOOLEAN Initialized; 369 BOOLEAN Padding[3]; 370 HANDLE SsHandle; 371 LIST_ENTRY InLoadOrderModuleList; 372 LIST_ENTRY InMemoryOrderModuleList; 373 LIST_ENTRY InInitializationOrderModuleList; 374 /* End NT4 */ 375 LIST_ENTRY *EntryInProgress; 376 BOOLEAN ShutdownInProgress; 377 HANDLE ShutdownThreadId; 378 } PEB_LDR_DATA; 379 typedef PEB_LDR_DATA *PPEB_LDR_DATA; 380 359 381 typedef struct _PEB_COMMON 360 382 { … … 423 445 HANDLE Mutant; /**< 0x008 / 0x004 */ 424 446 PVOID ImageBaseAddress; /**< 0x010 / 0x008 */ 425 struct _PEB_LDR_DATA *Ldr;/**< 0x018 / 0x00c */447 PPEB_LDR_DATA *Ldr; /**< 0x018 / 0x00c */ 426 448 struct _RTL_USER_PROCESS_PARAMETERS *ProcessParameters; /**< 0x020 / 0x010 */ 427 449 PVOID SubSystemData; /**< 0x028 / 0x014 */ … … 1071 1093 #define _PEB _PEB_COMMON 1072 1094 typedef PEB_COMMON PEB; 1073 typedef PPEB_COMMON *PPEB;1095 typedef PPEB_COMMON PPEB; 1074 1096 1075 1097 #define _TEB _TEB_COMMON … … 1084 1106 #ifdef IPRT_NT_USE_WINTERNL 1085 1107 NTSYSAPI NTSTATUS NTAPI NtCreateSection(PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES, PLARGE_INTEGER, ULONG, ULONG, HANDLE); 1108 NTSYSAPI NTSTATUS NTAPI NtUnmapViewOfSection(HANDLE, PVOID); 1086 1109 1087 1110 typedef struct _FILE_FS_ATTRIBUTE_INFORMATION … … 1392 1415 /** @} */ 1393 1416 NTSYSAPI NTSTATUS NTAPI NtSetInformationProcess(HANDLE, PROCESSINFOCLASS, PVOID, ULONG); 1417 NTSYSAPI NTSTATUS NTAPI NtTerminateProcess(HANDLE, LONG); 1394 1418 1395 1419 /** Retured by ProcessImageInformation as well as NtQuerySection. */ … … 1444 1468 NTSYSAPI NTSTATUS NTAPI NtResumeThread(HANDLE, PULONG); 1445 1469 NTSYSAPI NTSTATUS NTAPI NtSuspendThread(HANDLE, PULONG); 1470 NTSYSAPI NTSTATUS NTAPI NtTerminateThread(HANDLE, LONG); 1471 NTSYSAPI NTSTATUS NTAPI NtGetContextThread(HANDLE, PCONTEXT); 1472 NTSYSAPI NTSTATUS NTAPI NtSetContextThread(HANDLE, PCONTEXT); 1473 1446 1474 1447 1475 #ifndef SEC_FILE … … 1482 1510 #endif 1483 1511 NTSYSAPI NTSTATUS NTAPI NtQueryVirtualMemory(HANDLE, void const *, MEMORY_INFORMATION_CLASS, PVOID, SIZE_T, PSIZE_T); 1512 #ifdef IPRT_NT_USE_WINTERNL 1513 NTSYSAPI NTSTATUS NTAPI NtAllocateVirtualMemory(HANDLE, PVOID *, ULONG, PSIZE_T, ULONG, ULONG); 1514 #endif 1515 NTSYSAPI NTSTATUS NTAPI NtFreeVirtualMemory(HANDLE, PVOID *, PSIZE_T, ULONG); 1516 NTSYSAPI NTSTATUS NTAPI NtProtectVirtualMemory(HANDLE, PVOID *, PSIZE_T, ULONG, PULONG); 1484 1517 1485 1518 typedef enum _SYSTEM_INFORMATION_CLASS … … 1670 1703 NTSYSAPI NTSTATUS NTAPI NtDelayExecution(BOOLEAN, PLARGE_INTEGER); 1671 1704 NTSYSAPI NTSTATUS NTAPI NtYieldExecution(void); 1705 #ifndef IPRT_NT_USE_WINTERNL 1706 NTSYSAPI NTSTATUS NTAPI NtWaitForSingleObject(HANDLE, BOOLEAN PLARGE_INTERGER); 1707 #endif 1708 1672 1709 1673 1710 NTSYSAPI NTSTATUS NTAPI RtlAddAccessDeniedAce(PACL, ULONG, ULONG, PSID); … … 1747 1784 PUNICODE_STRING ShellInfo, PUNICODE_STRING RuntimeInfo); 1748 1785 NTSYSAPI VOID NTAPI RtlDestroyProcessParameters(PRTL_USER_PROCESS_PARAMETERS); 1786 NTSYSAPI NTSTATUS NTAPI RtlCreateUserThread(HANDLE, PSECURITY_DESCRIPTOR, BOOLEAN, ULONG, SIZE_T, SIZE_T, 1787 PFNRT, PVOID, PHANDLE, PCLIENT_ID); 1788 1749 1789 1750 1790 RT_C_DECLS_END … … 1755 1795 /** @name NT Kernel APIs 1756 1796 * @{ */ 1797 RT_C_DECLS_BEGIN 1798 1757 1799 NTSYSAPI BOOLEAN NTAPI ObFindHandleForObject(PEPROCESS pProcess, PVOID pvObject, POBJECT_TYPE pObjectType, 1758 1800 PVOID pvOptionalConditions, PHANDLE phFound); … … 1767 1809 extern DECLIMPORT(POBJECT_TYPE *) LpcWaitablePortObjectType; /**< In vista+ this is the ALPC port object type. */ 1768 1810 1811 RT_C_DECLS_END 1769 1812 /** @ */ 1770 1813 #endif /* IN_RING0 */ 1771 1814 1772 #endif 1773 1815 1816 #if defined(IN_RING3) || defined(DOXYGEN_RUNNING) 1817 /** @name NT Userland APIs 1818 * @{ */ 1819 RT_C_DECLS_BEGIN 1820 1821 #if 0 /** @todo figure this out some time... */ 1822 typedef struct CSR_MSG_DATA_CREATED_PROCESS 1823 { 1824 HANDLE hProcess; 1825 HANDLE hThread; 1826 CLIENT_ID 1827 DWORD idProcess; 1828 DWORD idThread; 1829 DWORD fCreate; 1830 1831 } CSR_MSG_DATA_CREATED_PROCESS; 1832 1833 #define CSR_MSG_NO_CREATED_PROCESS UINT32_C(0x10000) 1834 #define CSR_MSG_NO_CREATED_THREAD UINT32_C(0x10001) 1835 NTSYSAPI NTSTATUS NTAPI CsrClientCallServer(PVOID, PVOID, ULONG, SIZE_T); 1836 #endif 1837 NTSYSAPI VOID NTAPI LdrInitializeThunk(PVOID, PVOID, PVOID); 1838 1839 RT_C_DECLS_END 1840 /** @} */ 1841 #endif /* IN_RING3 */ 1842 1843 #endif 1844
Note:
See TracChangeset
for help on using the changeset viewer.