26#define WIN32_NO_STATUS
78 SIZE_T stack_reserve = 0, stack_commit = 0;
80 if (attributes)
FIXME(
"thread attributes ignored\n");
83 else stack_commit =
stack;
86 0, stack_reserve, stack_commit,
91 if (
sa &&
sa->nLength >=
sizeof(*
sa) &&
sa->bInheritHandle)
230 pending,
sizeof(*pending),
NULL ));
277 return info.Priority;
332 FIXME(
": stub, returning default language.\n");
348 attr.RootDirectory = 0;
352 attr.SecurityQualityOfService =
NULL;
354 cid.UniqueProcess = 0;
384 if (!once++)
FIXME(
"(%p,%p): stub!\n",
thread, cycle );
416 THREAD_NAME_INFORMATION
info;
437 THREAD_NAME_INFORMATION *
info;
460 if (
info->ThreadName.Length)
462 (*description)[
info->ThreadName.Length /
sizeof(
WCHAR)] = 0;
527 FIXME(
"(%p %p %p): stub\n",
thread, ideal, previous );
598 TRACE(
"(0x%04x) stub - returning success\n",
langid );
613 case ThreadMemoryPriority:
615 case ThreadPowerThrottling:
772#elif defined(__x86_64__)
787#elif defined(__x86_64__)
823 "movl 4(%esp),%ecx\n\t"
824 "movl %edi,0x9c(%ecx)\n\t"
825 "movl %esi,0xa0(%ecx)\n\t"
826 "movl %ebx,0xa4(%ecx)\n\t"
827 "movl %ebp,0xb4(%ecx)\n\t"
828 "movl 0(%esp),%eax\n\t"
829 "movl %eax,0xb8(%ecx)\n\t"
830 "leal 12(%esp),%eax\n\t"
831 "movl %eax,0xc4(%ecx)\n\t"
832 "movl 8(%esp),%ecx\n\t"
833 "movl 0x9c(%ecx),%edi\n\t"
834 "movl 0xa0(%ecx),%esi\n\t"
835 "movl 0xa4(%ecx),%ebx\n\t"
836 "movl 0xb4(%ecx),%ebp\n\t"
837 "movl 0xc4(%ecx),%esp\n\t"
839#elif defined(__arm64ec__)
842 asm(
"mov x2, sp\n\t"
843 "stp x27, x2, [x0, #0x90]\n\t"
844 "str x29, [x0, #0xa0]\n\t"
845 "stp x25, x26, [x0, #0xa8]\n\t"
846 "stp x19, x20, [x0, #0xd8]\n\t"
847 "stp x21, x22, [x0, #0xe8]\n\t"
848 "str x30, [x0, #0xf8]\n\t"
849 "stp q8, q9, [x0, #0x220]\n\t"
850 "stp q10, q11, [x0, #0x240]\n\t"
851 "stp q12, q13, [x0, #0x260]\n\t"
852 "stp q14, q15, [x0, #0x280]\n\t"
854 "ldp x27, x2, [x1, #0x90]\n\t"
855 "ldr x29, [x1, #0xa0]\n\t"
856 "ldp x25, x26, [x1, #0xa8]\n\t"
857 "ldp x19, x20, [x1, #0xd8]\n\t"
858 "ldp x21, x22, [x1, #0xe8]\n\t"
859 "ldr x30, [x1, #0xf8]\n\t"
860 "ldp q8, q9, [x1, #0x220]\n\t"
861 "ldp q10, q11, [x1, #0x240]\n\t"
862 "ldp q12, q13, [x1, #0x260]\n\t"
863 "ldp q14, q15, [x1, #0x280]\n\t"
867#elif defined(__x86_64__)
870 "movq %rbx,0x90(%rcx)\n\t"
871 "leaq 0x8(%rsp),%rax\n\t"
872 "movq %rax,0x98(%rcx)\n\t"
873 "movq %rbp,0xa0(%rcx)\n\t"
874 "movq %rsi,0xa8(%rcx)\n\t"
875 "movq %rdi,0xb0(%rcx)\n\t"
876 "movq %r12,0xd8(%rcx)\n\t"
877 "movq %r13,0xe0(%rcx)\n\t"
878 "movq %r14,0xe8(%rcx)\n\t"
879 "movq %r15,0xf0(%rcx)\n\t"
880 "movq (%rsp),%rax\n\t"
881 "movq %rax,0xf8(%rcx)\n\t"
882 "movdqa %xmm6,0x200(%rcx)\n\t"
883 "movdqa %xmm7,0x210(%rcx)\n\t"
884 "movdqa %xmm8,0x220(%rcx)\n\t"
885 "movdqa %xmm9,0x230(%rcx)\n\t"
886 "movdqa %xmm10,0x240(%rcx)\n\t"
887 "movdqa %xmm11,0x250(%rcx)\n\t"
888 "movdqa %xmm12,0x260(%rcx)\n\t"
889 "movdqa %xmm13,0x270(%rcx)\n\t"
890 "movdqa %xmm14,0x280(%rcx)\n\t"
891 "movdqa %xmm15,0x290(%rcx)\n\t"
892 "movq 0x90(%rdx),%rbx\n\t"
893 "movq 0xa0(%rdx),%rbp\n\t"
894 "movq 0xa8(%rdx),%rsi\n\t"
895 "movq 0xb0(%rdx),%rdi\n\t"
896 "movq 0xd8(%rdx),%r12\n\t"
897 "movq 0xe0(%rdx),%r13\n\t"
898 "movq 0xe8(%rdx),%r14\n\t"
899 "movq 0xf0(%rdx),%r15\n\t"
900 "movdqa 0x200(%rdx),%xmm6\n\t"
901 "movdqa 0x210(%rdx),%xmm7\n\t"
902 "movdqa 0x220(%rdx),%xmm8\n\t"
903 "movdqa 0x230(%rdx),%xmm9\n\t"
904 "movdqa 0x240(%rdx),%xmm10\n\t"
905 "movdqa 0x250(%rdx),%xmm11\n\t"
906 "movdqa 0x260(%rdx),%xmm12\n\t"
907 "movdqa 0x270(%rdx),%xmm13\n\t"
908 "movdqa 0x280(%rdx),%xmm14\n\t"
909 "movdqa 0x290(%rdx),%xmm15\n\t"
910 "movq 0x98(%rdx),%rsp\n\t"
912#elif defined(__arm__)
915 "str r4, [r0, #0x14]\n\t"
916 "str r5, [r0, #0x18]\n\t"
917 "str r6, [r0, #0x1c]\n\t"
918 "str r7, [r0, #0x20]\n\t"
919 "str r8, [r0, #0x24]\n\t"
920 "str r9, [r0, #0x28]\n\t"
921 "str r10, [r0, #0x2c]\n\t"
922 "str r11, [r0, #0x30]\n\t"
923 "str sp, [r0, #0x38]\n\t"
924 "str lr, [r0, #0x40]\n\t"
925 "ldr r4, [r1, #0x14]\n\t"
926 "ldr r5, [r1, #0x18]\n\t"
927 "ldr r6, [r1, #0x1c]\n\t"
928 "ldr r7, [r1, #0x20]\n\t"
929 "ldr r8, [r1, #0x24]\n\t"
930 "ldr r9, [r1, #0x28]\n\t"
931 "ldr r10, [r1, #0x2c]\n\t"
932 "ldr r11, [r1, #0x30]\n\t"
933 "ldr sp, [r1, #0x38]\n\t"
934 "ldr r2, [r1, #0x40]\n\t"
936#elif defined(__aarch64__)
939 "stp x19, x20, [x0, #0xa0]\n\t"
940 "stp x21, x22, [x0, #0xb0]\n\t"
941 "stp x23, x24, [x0, #0xc0]\n\t"
942 "stp x25, x26, [x0, #0xd0]\n\t"
943 "stp x27, x28, [x0, #0xe0]\n\t"
944 "str x29, [x0, #0xf0]\n\t"
946 "str x2, [x0, #0x100]\n\t"
947 "str x30, [x0, #0x108]\n\t"
948 "ldp x19, x20, [x1, #0xa0]\n\t"
949 "ldp x21, x22, [x1, #0xb0]\n\t"
950 "ldp x23, x24, [x1, #0xc0]\n\t"
951 "ldp x25, x26, [x1, #0xd0]\n\t"
952 "ldp x27, x28, [x1, #0xe0]\n\t"
953 "ldr x29, [x1, #0xf0]\n\t"
954 "ldr x2, [x1, #0x100]\n\t"
955 "ldr x30, [x1, #0x108]\n\t"
961 FIXME(
"not implemented\n" );
989#elif defined(__arm64ec__)
992#elif defined(__x86_64__)
995#elif defined(__arm__)
998#elif defined(__aarch64__)
1024 sizeof(
dest->Flags) +
sizeof(
dest->NextCookieSequenceNumber) +
1025 sizeof(
dest->StackId));
1027 dest->ActiveFrame =
src->ActiveFrame;
1030 dest->NextCookieSequenceNumber =
src->NextCookieSequenceNumber;
1061 if (!
set_ntstatus( RtlCreateUserStack( stack_commit, stack_reserve, 0, 1, 1, &
stack )))
1071 fiber->
except = (
void *)-1;
1154 RtlProcessFlsData( fiber->
fls_slots, 3 );
1155 RtlFreeActivationContextStack( &fiber->
actctx.stack_space );
struct outqueuenode * tail
static struct sockaddr_in sa
struct outqueuenode * head
static struct @1687 move_list[MOVE_LIST_SIZE]
static void * heap_alloc(size_t len)
static BOOL heap_free(void *mem)
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
#define STATUS_NOT_IMPLEMENTED
#define RtlFindClearBitsAndSet
#define ERROR_NOT_ENOUGH_MEMORY
#define NT_SUCCESS(StatCode)
static HINSTANCE instance
static __inline BOOL set_ntstatus(NTSTATUS status)
#define ERROR_CALL_NOT_IMPLEMENTED
#define ERROR_INVALID_PARAMETER
#define GetCurrentProcess()
#define ERROR_NO_MORE_ITEMS
#define HeapFree(x, y, z)
LONG WINAPI UnhandledExceptionFilter(IN PEXCEPTION_POINTERS ExceptionInfo)
BOOL WINAPI SetHandleInformation(IN HANDLE hObject, IN DWORD dwMask, IN DWORD dwFlags)
DWORD WINAPI QueueUserAPC(IN PAPCFUNC pfnAPC, IN HANDLE hThread, IN ULONG_PTR dwData)
LPVOID WINAPI TlsGetValue(IN DWORD Index)
DWORD WINAPI ResumeThread(IN HANDLE hThread)
BOOL WINAPI SetThreadPriority(IN HANDLE hThread, IN int nPriority)
HANDLE WINAPI CreateRemoteThread(IN HANDLE hProcess, IN LPSECURITY_ATTRIBUTES lpThreadAttributes, IN DWORD dwStackSize, IN LPTHREAD_START_ROUTINE lpStartAddress, IN LPVOID lpParameter, IN DWORD dwCreationFlags, OUT LPDWORD lpThreadId)
BOOL WINAPI SetThreadContext(IN HANDLE hThread, IN CONST CONTEXT *lpContext)
DWORD WINAPI SuspendThread(IN HANDLE hThread)
BOOL NTAPI GetThreadTimes(IN HANDLE hThread, OUT LPFILETIME lpCreationTime, OUT LPFILETIME lpExitTime, OUT LPFILETIME lpKernelTime, OUT LPFILETIME lpUserTime)
LANGID WINAPI SetThreadUILanguage(IN LANGID LangId)
HANDLE WINAPI OpenThread(IN DWORD dwDesiredAccess, IN BOOL bInheritHandle, IN DWORD dwThreadId)
BOOL WINAPI QueueUserWorkItem(IN LPTHREAD_START_ROUTINE Function, IN PVOID Context, IN ULONG Flags)
DWORD WINAPI GetProcessIdOfThread(IN HANDLE Thread)
BOOL WINAPI TlsSetValue(IN DWORD Index, IN LPVOID Value)
DWORD WINAPI SetThreadIdealProcessor(IN HANDLE hThread, IN DWORD dwIdealProcessor)
HANDLE WINAPI DECLSPEC_HOTPATCH CreateThread(IN LPSECURITY_ATTRIBUTES lpThreadAttributes, IN DWORD dwStackSize, IN LPTHREAD_START_ROUTINE lpStartAddress, IN LPVOID lpParameter, IN DWORD dwCreationFlags, OUT LPDWORD lpThreadId)
BOOL WINAPI TerminateThread(IN HANDLE hThread, IN DWORD dwExitCode)
BOOL WINAPI TlsFree(IN DWORD Index)
BOOL WINAPI SetThreadStackGuarantee(IN OUT PULONG StackSizeInBytes)
DWORD WINAPI GetThreadId(IN HANDLE Thread)
BOOL WINAPI GetThreadPriorityBoost(IN HANDLE hThread, OUT PBOOL pDisablePriorityBoost)
BOOL NTAPI SetThreadPriorityBoost(IN HANDLE hThread, IN BOOL bDisablePriorityBoost)
int WINAPI GetThreadPriority(IN HANDLE hThread)
BOOL WINAPI GetThreadIOPendingFlag(IN HANDLE hThread, OUT PBOOL lpIOIsPending)
BOOL WINAPI GetExitCodeThread(IN HANDLE hThread, OUT LPDWORD lpExitCode)
BOOL WINAPI GetThreadContext(IN HANDLE hThread, OUT LPCONTEXT lpContext)
BOOL WINAPI IsValidLocale(LCID lcid, DWORD flags)
LCID WINAPI GetUserDefaultLCID(void)
LCID WINAPI ConvertDefaultLocale(LCID lcid)
LPVOID WINAPI DECLSPEC_HOTPATCH ConvertThreadToFiberEx(LPVOID param, DWORD flags)
LCID WINAPI GetThreadLocale(void)
BOOL WINAPI DECLSPEC_HOTPATCH GetThreadGroupAffinity(HANDLE thread, GROUP_AFFINITY *affinity)
BOOL WINAPI Wow64GetThreadContext(HANDLE handle, WOW64_CONTEXT *context)
BOOL WINAPI DECLSPEC_HOTPATCH SetThreadIdealProcessorEx(HANDLE thread, PROCESSOR_NUMBER *ideal, PROCESSOR_NUMBER *previous)
PTP_POOL WINAPI DECLSPEC_HOTPATCH CreateThreadpool(void *reserved)
BOOL WINAPI DECLSPEC_HOTPATCH ConvertFiberToThread(void)
static void WINAPI switch_fiber(CONTEXT *old, CONTEXT *new)
BOOL WINAPI DECLSPEC_HOTPATCH TrySubmitThreadpoolCallback(PTP_SIMPLE_CALLBACK callback, PVOID userdata, TP_CALLBACK_ENVIRON *environment)
DWORD WINAPI DECLSPEC_HOTPATCH TlsAlloc(void)
void WINAPI DECLSPEC_HOTPATCH DeleteFiber(LPVOID fiber_ptr)
PTP_IO WINAPI DECLSPEC_HOTPATCH CreateThreadpoolIo(HANDLE handle, PTP_WIN32_IO_CALLBACK callback, PVOID userdata, TP_CALLBACK_ENVIRON *environment)
void WINAPI DECLSPEC_HOTPATCH GetCurrentThreadStackLimits(ULONG_PTR *low, ULONG_PTR *high)
PTP_WAIT WINAPI DECLSPEC_HOTPATCH CreateThreadpoolWait(PTP_WAIT_CALLBACK callback, PVOID userdata, TP_CALLBACK_ENVIRON *environment)
void WINAPI DECLSPEC_HOTPATCH FreeLibraryAndExitThread(HINSTANCE module, DWORD exit_code)
DWORD WINAPI DECLSPEC_HOTPATCH FlsAlloc(PFLS_CALLBACK_FUNCTION callback)
static void relocate_thread_actctx_stack(ACTIVATION_CONTEXT_STACK *dest)
static void init_fiber_context(struct fiber_data *fiber)
BOOL WINAPI DECLSPEC_HOTPATCH QueryThreadCycleTime(HANDLE thread, ULONG64 *cycle)
static DWORD rtlmode_to_win32mode(DWORD rtlmode)
LPVOID WINAPI DECLSPEC_HOTPATCH CreateFiber(SIZE_T stack, LPFIBER_START_ROUTINE start, LPVOID param)
PTP_TIMER WINAPI DECLSPEC_HOTPATCH CreateThreadpoolTimer(PTP_TIMER_CALLBACK callback, PVOID userdata, TP_CALLBACK_ENVIRON *environment)
DWORD WINAPI DECLSPEC_HOTPATCH GetThreadErrorMode(void)
static void WINAPI tp_io_callback(TP_CALLBACK_INSTANCE *instance, void *userdata, void *cvalue, IO_STATUS_BLOCK *iosb, TP_IO *io)
BOOL WINAPI DECLSPEC_HOTPATCH FlsSetValue(DWORD index, PVOID data)
static void CALLBACK call_user_apc(ULONG_PTR arg1, ULONG_PTR arg2, ULONG_PTR arg3)
HRESULT WINAPI DECLSPEC_HOTPATCH GetThreadDescription(HANDLE thread, WCHAR **description)
PTP_CLEANUP_GROUP WINAPI DECLSPEC_HOTPATCH CreateThreadpoolCleanupGroup(void)
void WINAPI DECLSPEC_HOTPATCH SwitchToFiber(LPVOID fiber)
LPVOID WINAPI ConvertThreadToFiber(LPVOID param)
HANDLE WINAPI DECLSPEC_HOTPATCH CreateRemoteThreadEx(HANDLE process, SECURITY_ATTRIBUTES *sa, SIZE_T stack, LPTHREAD_START_ROUTINE start, LPVOID param, DWORD flags, LPPROC_THREAD_ATTRIBUTE_LIST attributes, DWORD *id)
BOOL WINAPI Wow64SetThreadContext(HANDLE handle, const WOW64_CONTEXT *context)
HANDLE WINAPI kernelbase_GetCurrentThread(void)
HRESULT WINAPI DECLSPEC_HOTPATCH SetThreadDescription(HANDLE thread, PCWSTR description)
BOOL WINAPI SetThreadErrorMode(DWORD mode, DWORD *old)
BOOL WINAPI DECLSPEC_HOTPATCH SetThreadInformation(HANDLE thread, THREAD_INFORMATION_CLASS info_class, VOID *info, DWORD size)
DWORD WINAPI kernelbase_GetLastError(void)
static void CDECL start_fiber(void)
BOOL WINAPI DECLSPEC_HOTPATCH CallbackMayRunLong(TP_CALLBACK_INSTANCE *instance)
BOOL WINAPI DECLSPEC_HOTPATCH IsThreadAFiber(void)
BOOL WINAPI DECLSPEC_HOTPATCH SwitchToThread(void)
BOOL WINAPI DECLSPEC_HOTPATCH SetThreadLocale(LCID lcid)
BOOL WINAPI DECLSPEC_HOTPATCH SetThreadpoolStackInformation(PTP_POOL pool, PTP_POOL_STACK_INFORMATION stack_info)
BOOL WINAPI DECLSPEC_HOTPATCH QueryThreadpoolStackInformation(PTP_POOL pool, PTP_POOL_STACK_INFORMATION stack_info)
LPVOID WINAPI DECLSPEC_HOTPATCH CreateFiberEx(SIZE_T stack_commit, SIZE_T stack_reserve, DWORD flags, LPFIBER_START_ROUTINE start, LPVOID param)
DWORD WINAPI kernelbase_GetCurrentThreadId(void)
PTP_WORK WINAPI DECLSPEC_HOTPATCH CreateThreadpoolWork(PTP_WORK_CALLBACK callback, PVOID userdata, TP_CALLBACK_ENVIRON *environment)
BOOL WINAPI DECLSPEC_HOTPATCH GetThreadIdealProcessorEx(HANDLE thread, PROCESSOR_NUMBER *ideal)
LANGID WINAPI DECLSPEC_HOTPATCH GetThreadUILanguage(void)
BOOL WINAPI DECLSPEC_HOTPATCH SetThreadGroupAffinity(HANDLE thread, const GROUP_AFFINITY *new, GROUP_AFFINITY *old)
PVOID WINAPI DECLSPEC_HOTPATCH FlsGetValue(DWORD index)
BOOL WINAPI DECLSPEC_HOTPATCH FlsFree(DWORD index)
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
#define InitializeListHead(ListHead)
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLuint GLuint GLuint GLuint arg1
GLuint GLuint GLuint GLuint GLuint GLuint GLuint GLuint GLuint GLuint arg3
GLuint GLuint GLuint GLuint GLuint GLuint GLuint arg2
GLuint GLsizei GLsizei * length
GLuint GLint GLboolean GLint GLenum access
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble * u
HLOCAL NTAPI LocalAlloc(UINT uFlags, SIZE_T dwBytes)
NTSYSAPI void WINAPI RtlReleasePebLock(void)
NTSYSAPI DWORD WINAPI RtlGetThreadErrorMode(void)
NTSYSAPI void WINAPI RtlAcquirePebLock(void)
NTSYSAPI void WINAPI DbgBreakPoint(void)
NTSYSAPI NTSTATUS WINAPI NtYieldExecution(void)
NTSYSAPI NTSTATUS WINAPI RtlSetThreadErrorMode(DWORD, LPDWORD)
void(CALLBACK * PRTL_THREAD_START_ROUTINE)(LPVOID)
NTSYSAPI ULONG WINAPI RtlNtStatusToDosError(NTSTATUS)
@ ThreadPowerThrottlingState
#define memcpy(s1, s2, n)
static IPrintDialogCallback callback
static const struct encodedFiletime times[]
static HANDLE PIO_APC_ROUTINE PVOID PIO_STATUS_BLOCK io
static PIO_STATUS_BLOCK iosb
static PIO_STATUS_BLOCK void ULONG FS_INFORMATION_CLASS info_class
#define __ASM_GLOBAL_FUNC(name, code)
NTSYSAPI NTSTATUS NTAPI RtlQueueWorkItem(_In_ WORKERCALLBACKFUNC Function, _In_opt_ PVOID Context, _In_ ULONG Flags)
NTSYSAPI VOID NTAPI RtlExitUserThread(_In_ NTSTATUS Status)
NTSYSAPI NTSTATUS NTAPI RtlCreateUserThread(_In_ PVOID ThreadContext, _Out_ HANDLE *OutThreadHandle, _Reserved_ PVOID Reserved1, _Reserved_ PVOID Reserved2, _Reserved_ PVOID Reserved3, _Reserved_ PVOID Reserved4, _Reserved_ PVOID Reserved5, _Reserved_ PVOID Reserved6, _Reserved_ PVOID Reserved7, _Reserved_ PVOID Reserved8)
#define SEM_FAILCRITICALERRORS
#define SEM_NOGPFAULTERRORBOX
#define SEM_NOOPENFILEERRORBOX
NTSTATUS NtTerminateThread(IN HANDLE ThreadHandle OPTIONAL, IN NTSTATUS ExitStatus)
NTSTATUS NTAPI NtClose(IN HANDLE Handle)
NTSTATUS NTAPI NtQueryDefaultUILanguage(OUT LANGID *LanguageId)
NTSTATUS NTAPI NtSetContextThread(IN HANDLE ThreadHandle, IN PCONTEXT ThreadContext)
NTSTATUS NTAPI NtGetContextThread(IN HANDLE ThreadHandle, IN OUT PCONTEXT ThreadContext)
NTSTATUS NTAPI NtQueryInformationThread(IN HANDLE ThreadHandle, IN THREADINFOCLASS ThreadInformationClass, OUT PVOID ThreadInformation, IN ULONG ThreadInformationLength, OUT PULONG ReturnLength OPTIONAL)
NTSTATUS NTAPI NtSetInformationThread(IN HANDLE ThreadHandle, IN THREADINFOCLASS ThreadInformationClass, IN PVOID ThreadInformation, IN ULONG ThreadInformationLength)
NTSTATUS NTAPI NtQueueApcThread(IN HANDLE ThreadHandle, IN PKNORMAL_ROUTINE ApcRoutine, IN PVOID NormalContext, IN PVOID SystemArgument1, IN PVOID SystemArgument2)
NTSTATUS NTAPI NtResumeThread(IN HANDLE ThreadHandle, OUT PULONG SuspendCount OPTIONAL)
NTSTATUS NTAPI NtSuspendThread(IN HANDLE ThreadHandle, OUT PULONG PreviousSuspendCount OPTIONAL)
NTSTATUS NTAPI NtOpenThread(OUT PHANDLE ThreadHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes, IN PCLIENT_ID ClientId OPTIONAL)
#define STATUS_NO_YIELD_PERFORMED
#define __ASM_STDCALL_FUNC(name, args, code)
#define GetExceptionCode()
#define DECLSPEC_HOTPATCH
NTSTATUS WINAPI TpAllocTimer(TP_TIMER **out, PTP_TIMER_CALLBACK callback, PVOID userdata, TP_CALLBACK_ENVIRON *environment)
NTSTATUS WINAPI TpCallbackMayRunLong(TP_CALLBACK_INSTANCE *instance)
NTSTATUS WINAPI TpSimpleTryPost(PTP_SIMPLE_CALLBACK callback, PVOID userdata, TP_CALLBACK_ENVIRON *environment)
NTSTATUS WINAPI TpAllocWork(TP_WORK **out, PTP_WORK_CALLBACK callback, PVOID userdata, TP_CALLBACK_ENVIRON *environment)
NTSTATUS WINAPI TpAllocCleanupGroup(TP_CLEANUP_GROUP **out)
NTSTATUS WINAPI TpAllocWait(TP_WAIT **out, PTP_WAIT_CALLBACK callback, PVOID userdata, TP_CALLBACK_ENVIRON *environment)
NTSTATUS WINAPI TpQueryPoolStackInformation(TP_POOL *pool, TP_POOL_STACK_INFORMATION *stack_info)
NTSTATUS WINAPI TpAllocIoCompletion(TP_IO **out, HANDLE file, PTP_IO_CALLBACK callback, void *userdata, TP_CALLBACK_ENVIRON *environment)
NTSTATUS WINAPI TpSetPoolStackInformation(TP_POOL *pool, TP_POOL_STACK_INFORMATION *stack_info)
NTSTATUS WINAPI TpAllocPool(TP_POOL **out, PVOID reserved)
#define STATUS_BUFFER_TOO_SMALL
#define TLS_MINIMUM_AVAILABLE
ULONG TlsExpansionBitmapBits[32]
PRTL_BITMAP TlsExpansionBitmap
ACTIVATION_CONTEXT_STACK * stack_ptr
ACTIVATION_CONTEXT_STACK stack_space
LPFIBER_START_ROUTINE start
struct fiber_actctx actctx
VOID(WINAPI * PTP_WIN32_IO_CALLBACK)(_Inout_ PTP_CALLBACK_INSTANCE Instance, _Inout_opt_ PVOID Context, _Inout_opt_ PVOID Overlapped, _In_ ULONG IoResult, _In_ ULONG_PTR NumberOfBytesTransferred, _Inout_ PTP_IO Io)
#define STATUS_INVALID_PARAMETER
static const WCHAR lang[]
HANDLE WINAPI GetCurrentThread(void)
#define FLS_OUT_OF_INDEXES
#define HANDLE_FLAG_INHERIT
#define STACK_SIZE_PARAM_IS_A_RESERVATION
VOID(WINAPI * PFLS_CALLBACK_FUNCTION)(PVOID)
PFIBER_START_ROUTINE LPFIBER_START_ROUTINE
DWORD(WINAPI * LPTHREAD_START_ROUTINE)(LPVOID)
#define THREAD_PRIORITY_ERROR_RETURN
#define HRESULT_FROM_NT(x)
#define ERROR_ALREADY_FIBER
struct _TP_WAIT * PTP_WAIT
struct _TP_CLEANUP_GROUP TP_CLEANUP_GROUP
VOID(NTAPI * PTP_WAIT_CALLBACK)(PTP_CALLBACK_INSTANCE, PVOID, PTP_WAIT, TP_WAIT_RESULT)
struct _TP_TIMER * PTP_TIMER
struct _TP_WORK * PTP_WORK
VOID(NTAPI * PTP_WORK_CALLBACK)(_Inout_ PTP_CALLBACK_INSTANCE Instance, _Inout_opt_ PVOID Context, _Inout_ PTP_WORK Work)
struct _TP_TIMER TP_TIMER
VOID(NTAPI * PTP_SIMPLE_CALLBACK)(_Inout_ PTP_CALLBACK_INSTANCE Instance, _Inout_opt_ PVOID Context)
struct _TP_POOL * PTP_POOL
struct _TP_CLEANUP_GROUP * PTP_CLEANUP_GROUP
VOID(NTAPI * PTP_TIMER_CALLBACK)(PTP_CALLBACK_INSTANCE, PVOID, PTP_TIMER)
struct _TP_CALLBACK_INSTANCE TP_CALLBACK_INSTANCE
_Out_ PCLIENT_ID ClientId