Something went wrong. Try again.
Reactos
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180/* * PROJECT: ReactOS SDK * LICENSE: MIT (https://spdx.org/licenses/MIT) * PURPOSE: API definitions for api-ms-win-core-processthreads-l1 * COPYRIGHT: Copyright 2024 Timo Kreuzer (timo.kreuzer@reactos.org) */
#pragma once
#ifdef __cplusplusextern "C" {#endif
typedef struct _STARTUPINFOA{ DWORD cb; LPSTR lpReserved; LPSTR lpDesktop; LPSTR lpTitle; DWORD dwX; DWORD dwY; DWORD dwXSize; DWORD dwYSize; DWORD dwXCountChars; DWORD dwYCountChars; DWORD dwFillAttribute; DWORD dwFlags; WORD wShowWindow; WORD cbReserved2; PBYTE lpReserved2; HANDLE hStdInput; HANDLE hStdOutput; HANDLE hStdError;} STARTUPINFOA, *LPSTARTUPINFOA;
typedef struct _STARTUPINFOW{ DWORD cb; LPWSTR lpReserved; LPWSTR lpDesktop; LPWSTR lpTitle; DWORD dwX; DWORD dwY; DWORD dwXSize; DWORD dwYSize; DWORD dwXCountChars; DWORD dwYCountChars; DWORD dwFillAttribute; DWORD dwFlags; WORD wShowWindow; WORD cbReserved2; PBYTE lpReserved2; HANDLE hStdInput; HANDLE hStdOutput; HANDLE hStdError;} STARTUPINFOW,*LPSTARTUPINFOW;
#ifdef UNICODEtypedef STARTUPINFOW STARTUPINFO, *LPSTARTUPINFO;#elsetypedef STARTUPINFOA STARTUPINFO, *LPSTARTUPINFO;#endif // UNICODE
typedef struct _PROCESS_INFORMATION{ HANDLE hProcess; HANDLE hThread; DWORD dwProcessId; DWORD dwThreadId;} PROCESS_INFORMATION,*PPROCESS_INFORMATION,*LPPROCESS_INFORMATION;
typedef struct _PROC_THREAD_ATTRIBUTE_LIST *PPROC_THREAD_ATTRIBUTE_LIST, *LPPROC_THREAD_ATTRIBUTE_LIST;
WINBASEAPIHRESULTWINAPIGetThreadDescription( _In_ HANDLE hThread, _Outptr_result_z_ PWSTR* ppszThreadDescription);
WINBASEAPIHRESULTWINAPISetThreadDescription( _In_ HANDLE hThread, _In_ PCWSTR lpThreadDescription);
WINBASEAPIBOOLWINAPISetThreadStackGuarantee( _Inout_ PULONG StackSizeInBytes);
#if (_WIN32_WINNT >= 0x0600)
WINBASEAPIVOIDWINAPIFlushProcessWriteBuffers( VOID);
WINBASEAPI_Success_(return != FALSE)BOOLWINAPIInitializeProcThreadAttributeList( _Out_writes_bytes_to_opt_(*lpSize,*lpSize) LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList, _In_ DWORD dwAttributeCount, _Reserved_ DWORD dwFlags, _When_(lpAttributeList == nullptr,_Out_) _When_(lpAttributeList != nullptr,_Inout_) PSIZE_T lpSize);
WINBASEAPIBOOLWINAPIUpdateProcThreadAttribute( _Inout_ LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList, _In_ DWORD dwFlags, _In_ DWORD_PTR Attribute, _In_reads_bytes_opt_(cbSize) PVOID lpValue, _In_ SIZE_T cbSize, _Out_writes_bytes_opt_(cbSize) PVOID lpPreviousValue, _In_opt_ PSIZE_T lpReturnSize);
WINBASEAPIVOIDWINAPIDeleteProcThreadAttributeList( _Inout_ LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList);
#endif // (_WIN32_WINNT >= 0x0600) || defined(__REACTOS__)
#if (_WIN32_WINNT >= 0x602) || defined(__REACTOS__)
FORCEINLINEHANDLEGetCurrentProcessToken( VOID){ return (HANDLE)(LONG_PTR)-4;}
FORCEINLINEHANDLEGetCurrentThreadToken( VOID){ return (HANDLE)(LONG_PTR)-5;}
FORCEINLINEHANDLEGetCurrentThreadEffectiveToken( VOID){ return (HANDLE)(LONG_PTR)-6;}
#endif // (_WIN32_WINNT >= 0x602) || defined(__REACTOS__)
typedef enum _PROCESS_INFORMATION_CLASS{ ProcessMemoryPriority, ProcessMemoryExhaustionInfo, ProcessAppMemoryInfo, ProcessInPrivateInfo, ProcessPowerThrottling, ProcessReservedValue1, // Formerly ProcessActivityThrottlePolicyInfo ProcessTelemetryCoverageInfo, ProcessProtectionLevelInfo, ProcessLeapSecondInfo, ProcessMachineTypeInfo, ProcessOverrideSubsequentPrefetchParameter, ProcessMaxOverridePrefetchParameter, ProcessInformationClassMax} PROCESS_INFORMATION_CLASS;
#ifdef __cplusplus} // extern "C"#endif