1 // Copyright © 2015, Peter Atashian
2 // Licensed under the MIT License <LICENSE.md>
3 STRUCT!{struct PROCESS_INFORMATION {
4     hProcess: ::HANDLE,
5     hThread: ::HANDLE,
6     dwProcessId: ::DWORD,
7     dwThreadId: ::DWORD,
8 }}
9 pub type PPROCESS_INFORMATION = *mut PROCESS_INFORMATION;
10 pub type LPPROCESS_INFORMATION = *mut PROCESS_INFORMATION;
11 STRUCT!{struct STARTUPINFOA {
12     cb: ::DWORD,
13     lpReserved: ::LPSTR,
14     lpDesktop: ::LPSTR,
15     lpTitle: ::LPSTR,
16     dwX: ::DWORD,
17     dwY: ::DWORD,
18     dwXSize: ::DWORD,
19     dwYSize: ::DWORD,
20     dwXCountChars: ::DWORD,
21     dwYCountChars: ::DWORD,
22     dwFillAttribute: ::DWORD,
23     dwFlags: ::DWORD,
24     wShowWindow: ::WORD,
25     cbReserved2: ::WORD,
26     lpReserved2: ::LPBYTE,
27     hStdInput: ::HANDLE,
28     hStdOutput: ::HANDLE,
29     hStdError: ::HANDLE,
30 }}
31 pub type LPSTARTUPINFOA = *mut STARTUPINFOA;
32 STRUCT!{struct STARTUPINFOW {
33     cb: ::DWORD,
34     lpReserved: ::LPWSTR,
35     lpDesktop: ::LPWSTR,
36     lpTitle: ::LPWSTR,
37     dwX: ::DWORD,
38     dwY: ::DWORD,
39     dwXSize: ::DWORD,
40     dwYSize: ::DWORD,
41     dwXCountChars: ::DWORD,
42     dwYCountChars: ::DWORD,
43     dwFillAttribute: ::DWORD,
44     dwFlags: ::DWORD,
45     wShowWindow: ::WORD,
46     cbReserved2: ::WORD,
47     lpReserved2: ::LPBYTE,
48     hStdInput: ::HANDLE,
49     hStdOutput: ::HANDLE,
50     hStdError: ::HANDLE,
51 }}
52 pub type LPSTARTUPINFOW = *mut STARTUPINFOW;
53 STRUCT!{struct PROC_THREAD_ATTRIBUTE_LIST {
54     dummy: *mut ::c_void,
55 }}
56 pub type PPROC_THREAD_ATTRIBUTE_LIST = *mut PROC_THREAD_ATTRIBUTE_LIST;
57 pub type LPPROC_THREAD_ATTRIBUTE_LIST = *mut PROC_THREAD_ATTRIBUTE_LIST;
58 ENUM!{enum THREAD_INFORMATION_CLASS {
59     ThreadMemoryPriority,
60     ThreadAbsoluteCpuPriority,
61     ThreadInformationClassMax,
62 }}
63