mirror of
https://github.com/reactos/reactos.git
synced 2025-08-07 00:23:02 +00:00
148 lines
3 KiB
C
148 lines
3 KiB
C
/*
|
|
* 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 __cplusplus
|
|
extern "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 UNICODE
|
|
typedef STARTUPINFOW STARTUPINFO, *LPSTARTUPINFO;
|
|
#else
|
|
typedef 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;
|
|
|
|
WINBASEAPI
|
|
BOOL
|
|
WINAPI
|
|
SetThreadStackGuarantee(
|
|
_Inout_ PULONG StackSizeInBytes);
|
|
|
|
#if (_WIN32_WINNT >= 0x0600)
|
|
|
|
WINBASEAPI
|
|
VOID
|
|
WINAPI
|
|
FlushProcessWriteBuffers(
|
|
VOID);
|
|
|
|
WINBASEAPI
|
|
_Success_(return != FALSE)
|
|
BOOL
|
|
WINAPI
|
|
InitializeProcThreadAttributeList(
|
|
_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);
|
|
|
|
WINBASEAPI
|
|
BOOL
|
|
WINAPI
|
|
UpdateProcThreadAttribute(
|
|
_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);
|
|
|
|
WINBASEAPI
|
|
VOID
|
|
WINAPI
|
|
DeleteProcThreadAttributeList(
|
|
_Inout_ LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList);
|
|
|
|
#endif // (_WIN32_WINNT >= 0x0600) || defined(__REACTOS__)
|
|
|
|
#if (_WIN32_WINNT >= 0x602) || defined(__REACTOS__)
|
|
|
|
FORCEINLINE
|
|
HANDLE
|
|
GetCurrentProcessToken(
|
|
VOID)
|
|
{
|
|
return (HANDLE)(LONG_PTR)-4;
|
|
}
|
|
|
|
FORCEINLINE
|
|
HANDLE
|
|
GetCurrentThreadToken(
|
|
VOID)
|
|
{
|
|
return (HANDLE)(LONG_PTR)-5;
|
|
}
|
|
|
|
FORCEINLINE
|
|
HANDLE
|
|
GetCurrentThreadEffectiveToken(
|
|
VOID)
|
|
{
|
|
return (HANDLE)(LONG_PTR)-6;
|
|
}
|
|
|
|
#endif // (_WIN32_WINNT >= 0x602) || defined(__REACTOS__)
|
|
|
|
#ifdef __cplusplus
|
|
} // extern "C"
|
|
#endif
|