Changeset 71128 in vbox for trunk/include/iprt/nt/nt.h
- Timestamp:
- Feb 26, 2018 3:24:41 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/iprt/nt/nt.h
r70977 r71128 1497 1497 DECL_FORCE_INLINE(PPEB) RTNtCurrentPeb(void) { return (PPEB)__readfsdword(RT_OFFSETOF(TEB_COMMON, ProcessEnvironmentBlock)); } 1498 1498 DECL_FORCE_INLINE(uint32_t) RTNtCurrentThreadId(void) { return __readfsdword(RT_OFFSETOF(TEB_COMMON, ClientId.UniqueThread)); } 1499 DECL_FORCE_INLINE(NTSTATUS) RTNtLastStatusValue(void) { return (NTSTATUS)__readfsdword(RT_OFFSETOF(TEB_COMMON, LastStatusValue)); } 1500 DECL_FORCE_INLINE(uint32_t) RTNtLastErrorValue(void) { return __readfsdword(RT_OFFSETOF(TEB_COMMON, LastErrorValue)); } 1499 1501 # elif defined(RT_ARCH_AMD64) 1500 1502 DECL_FORCE_INLINE(PTEB) RTNtCurrentTeb(void) { return (PTEB)__readgsqword(RT_OFFSETOF(TEB_COMMON, NtTib.Self)); } 1501 1503 DECL_FORCE_INLINE(PPEB) RTNtCurrentPeb(void) { return (PPEB)__readgsqword(RT_OFFSETOF(TEB_COMMON, ProcessEnvironmentBlock)); } 1502 DECL_FORCE_INLINE(uint32_t) RTNtCurrentThreadId(void) { return (uint32_t)__readgsqword(RT_OFFSETOF(TEB_COMMON, ClientId.UniqueThread)); } 1504 DECL_FORCE_INLINE(uint32_t) RTNtCurrentThreadId(void) { return __readgsdword(RT_OFFSETOF(TEB_COMMON, ClientId.UniqueThread)); } 1505 DECL_FORCE_INLINE(NTSTATUS) RTNtLastStatusValue(void) { return (NTSTATUS)__readgsdword(RT_OFFSETOF(TEB_COMMON, LastStatusValue)); } 1506 DECL_FORCE_INLINE(uint32_t) RTNtLastErrorValue(void) { return __readgsdword(RT_OFFSETOF(TEB_COMMON, LastErrorValue)); } 1503 1507 # else 1504 1508 # error "Port me" … … 1508 1512 # define RTNtCurrentPeb() (RTNtCurrentTeb()->ProcessEnvironmentBlock) 1509 1513 # define RTNtCurrentThreadId() ((uint32_t)(uintptr_t)RTNtCurrentTeb()->ClientId.UniqueThread) 1514 # define RTNtLastStatusValue() (RTNtCurrentTeb()->LastStatusValue) 1515 # define RTNtLastErrorValue() (RTNtCurrentTeb()->LastErrorValue) 1510 1516 #endif 1511 1517 #define NtCurrentPeb() RTNtCurrentPeb() … … 1543 1549 NTSYSAPI NTSTATUS NTAPI NtOpenThread(PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES, PCLIENT_ID); 1544 1550 NTSYSAPI NTSTATUS NTAPI ZwOpenThread(PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES, PCLIENT_ID); 1551 NTSYSAPI NTSTATUS NTAPI NtAlertThread(HANDLE hThread); 1552 #ifdef IPRT_NT_USE_WINTERNL 1553 NTSYSAPI NTSTATUS NTAPI ZwAlertThread(HANDLE hThread); 1554 #endif 1545 1555 1546 1556 #ifdef IPRT_NT_USE_WINTERNL
Note:
See TracChangeset
for help on using the changeset viewer.