VirtualBox

Changeset 71128 in vbox for trunk/include/iprt/nt/nt.h


Ignore:
Timestamp:
Feb 26, 2018 3:24:41 PM (7 years ago)
Author:
vboxsync
Message:

iprt/nt/nt.h: Added NtAlertThread and ZwAlertThread prototypes.

File:
1 edited

Legend:

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

    r70977 r71128  
    14971497DECL_FORCE_INLINE(PPEB)     RTNtCurrentPeb(void) { return (PPEB)__readfsdword(RT_OFFSETOF(TEB_COMMON, ProcessEnvironmentBlock)); }
    14981498DECL_FORCE_INLINE(uint32_t) RTNtCurrentThreadId(void) { return __readfsdword(RT_OFFSETOF(TEB_COMMON, ClientId.UniqueThread)); }
     1499DECL_FORCE_INLINE(NTSTATUS) RTNtLastStatusValue(void) { return (NTSTATUS)__readfsdword(RT_OFFSETOF(TEB_COMMON, LastStatusValue)); }
     1500DECL_FORCE_INLINE(uint32_t) RTNtLastErrorValue(void)  { return __readfsdword(RT_OFFSETOF(TEB_COMMON, LastErrorValue)); }
    14991501# elif defined(RT_ARCH_AMD64)
    15001502DECL_FORCE_INLINE(PTEB)     RTNtCurrentTeb(void) { return (PTEB)__readgsqword(RT_OFFSETOF(TEB_COMMON, NtTib.Self)); }
    15011503DECL_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)); }
     1504DECL_FORCE_INLINE(uint32_t) RTNtCurrentThreadId(void) { return __readgsdword(RT_OFFSETOF(TEB_COMMON, ClientId.UniqueThread)); }
     1505DECL_FORCE_INLINE(NTSTATUS) RTNtLastStatusValue(void) { return (NTSTATUS)__readgsdword(RT_OFFSETOF(TEB_COMMON, LastStatusValue)); }
     1506DECL_FORCE_INLINE(uint32_t) RTNtLastErrorValue(void)  { return __readgsdword(RT_OFFSETOF(TEB_COMMON, LastErrorValue)); }
    15031507# else
    15041508#  error "Port me"
     
    15081512# define RTNtCurrentPeb()        (RTNtCurrentTeb()->ProcessEnvironmentBlock)
    15091513# define RTNtCurrentThreadId()   ((uint32_t)(uintptr_t)RTNtCurrentTeb()->ClientId.UniqueThread)
     1514# define RTNtLastStatusValue()   (RTNtCurrentTeb()->LastStatusValue)
     1515# define RTNtLastErrorValue()    (RTNtCurrentTeb()->LastErrorValue)
    15101516#endif
    15111517#define NtCurrentPeb()           RTNtCurrentPeb()
     
    15431549NTSYSAPI NTSTATUS NTAPI NtOpenThread(PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES, PCLIENT_ID);
    15441550NTSYSAPI NTSTATUS NTAPI ZwOpenThread(PHANDLE, ACCESS_MASK, POBJECT_ATTRIBUTES, PCLIENT_ID);
     1551NTSYSAPI NTSTATUS NTAPI NtAlertThread(HANDLE hThread);
     1552#ifdef IPRT_NT_USE_WINTERNL
     1553NTSYSAPI NTSTATUS NTAPI ZwAlertThread(HANDLE hThread);
     1554#endif
    15451555
    15461556#ifdef IPRT_NT_USE_WINTERNL
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