📄 win32.h
字号:
{ ULONG Length; LPC_SIZE_T ViewSize; LPC_PVOID ViewBase;} REMOTE_PORT_VIEW, *PREMOTE_PORT_VIEW;typedef struct _OBJECT_ATTRIBUTES{ ULONG Length; HANDLE RootDirectory; PUNICODE_STRING ObjectName; ULONG Attributes; PVOID SecurityDescriptor; PVOID SecurityQualityOfService;} OBJECT_ATTRIBUTES, *POBJECT_ATTRIBUTES;typedef struct _CLIENT_ID{ HANDLE UniqueProcess; HANDLE UniqueThread;} CLIENT_ID, *PCLIENT_ID;typedef struct _INITIAL_TEB //limin modify{ PVOID StackBase; PVOID StackLimit; PVOID StackCommit; PVOID StackCommitMax; PVOID StackReserved;} INITIAL_TEB, *PINITIAL_TEB;typedef struct _TOKEN_USER { SID_AND_ATTRIBUTES User;} TOKEN_USER, *PTOKEN_USER;typedef struct _TOKEN_GROUPS { DWORD GroupCount; SID_AND_ATTRIBUTES Groups[ANYSIZE_ARRAY];} TOKEN_GROUPS,*PTOKEN_GROUPS,*LPTOKEN_GROUPS;typedef struct _TOKEN_PRIVILEGES { DWORD PrivilegeCount; LUID_AND_ATTRIBUTES Privileges[ANYSIZE_ARRAY];} TOKEN_PRIVILEGES,*PTOKEN_PRIVILEGES,*LPTOKEN_PRIVILEGES;typedef struct _TOKEN_OWNER { PSID Owner;} TOKEN_OWNER,*PTOKEN_OWNER;typedef struct _TOKEN_PRIMARY_GROUP { PSID PrimaryGroup;} TOKEN_PRIMARY_GROUP,*PTOKEN_PRIMARY_GROUP;typedef struct _TOKEN_DEFAULT_DACL { PACL DefaultDacl;} TOKEN_DEFAULT_DACL,*PTOKEN_DEFAULT_DACL;#define TOKEN_SOURCE_LENGTH 8typedef struct _TOKEN_SOURCE { CHAR SourceName[TOKEN_SOURCE_LENGTH]; LUID SourceIdentifier;} TOKEN_SOURCE,*PTOKEN_SOURCE;typedef struct _PLUGPLAY_EVENT_BLOCK{ GUID EventGuid; PLUGPLAY_EVENT_CATEGORY EventCategory; PULONG Result; ULONG Flags; ULONG TotalSize; PVOID DeviceObject; union { struct { GUID ClassGuid; WCHAR SymbolicLinkName[ANYSIZE_ARRAY]; } DeviceClass; struct { WCHAR DeviceIds[ANYSIZE_ARRAY]; } TargetDevice; struct { WCHAR DeviceId[ANYSIZE_ARRAY]; } InstallDevice; struct { PVOID NotificationStructure; WCHAR DeviceIds[ANYSIZE_ARRAY]; } CustomNotification; struct { PVOID Notification; } ProfileNotification; struct { ULONG NotificationCode; ULONG NotificationData; } PowerNotification; struct { PNP_VETO_TYPE VetoType; WCHAR DeviceIdVetoNameBuffer[ANYSIZE_ARRAY]; } VetoNotification; struct { GUID BlockedDriverGuid; } BlockedDriverNotification; };} PLUGPLAY_EVENT_BLOCK, *PPLUGPLAY_EVENT_BLOCK;typedef struct _PORT_MESSAGE{ union { struct { CSHORT DataLength; CSHORT TotalLength; } s1; ULONG Length; } u1; union { struct { CSHORT Type; CSHORT DataInfoOffset; } s2; ULONG ZeroInit; } u2; union { LPC_CLIENT_ID ClientId; double DoNotUseThisField; }; ULONG MessageId; union { LPC_SIZE_T ClientViewSize; ULONG CallbackId; };} PORT_MESSAGE, *PPORT_MESSAGE;typedef struct _PRIVILEGE_SET { DWORD PrivilegeCount; DWORD Control; LUID_AND_ATTRIBUTES Privilege[ANYSIZE_ARRAY];} PRIVILEGE_SET,*PPRIVILEGE_SET;typedef struct _FILE_BASIC_INFORMATION{ LARGE_INTEGER CreationTime; LARGE_INTEGER LastAccessTime; LARGE_INTEGER LastWriteTime; LARGE_INTEGER ChangeTime; ULONG FileAttributes;} FILE_BASIC_INFORMATION, *PFILE_BASIC_INFORMATION;typedef struct _FILE_NETWORK_OPEN_INFORMATION{ LARGE_INTEGER CreationTime; LARGE_INTEGER LastAccessTime; LARGE_INTEGER LastWriteTime; LARGE_INTEGER ChangeTime; LARGE_INTEGER AllocationSize; LARGE_INTEGER EndOfFile; ULONG FileAttributes;} FILE_NETWORK_OPEN_INFORMATION, *PFILE_NETWORK_OPEN_INFORMATION;typedef struct _KEY_VALUE_ENTRY{ PUNICODE_STRING ValueName; ULONG DataLength; ULONG DataOffset; ULONG Type;} KEY_VALUE_ENTRY, *PKEY_VALUE_ENTRY;typedef union _FILE_SEGMENT_ELEMENT { PVOID64 Buffer; ULONGLONG Alignment;}FILE_SEGMENT_ELEMENT, *PFILE_SEGMENT_ELEMENT;typedef struct _LDT_ENTRY{ USHORT LimitLow; USHORT BaseLow; union { struct { UCHAR BaseMid; UCHAR Flags1; UCHAR Flags2; UCHAR BaseHi; } Bytes; struct { ULONG BaseMid : 8; ULONG Type : 5; ULONG Dpl : 2; ULONG Pres : 1; ULONG LimitHi : 4; ULONG Sys : 1; ULONG Reserved_0 : 1; ULONG Default_Big : 1; ULONG Granularity : 1; ULONG BaseHi : 8; } Bits; } HighWord;} LDT_ENTRY, *PLDT_ENTRY;typedef struct _FILE_POSITION_INFORMATION { LARGE_INTEGER CurrentByteOffset;} FILE_POSITION_INFORMATION, *PFILE_POSITION_INFORMATION; typedef struct _EVENT_TRACE_HEADER{ USHORT Size; union { USHORT FieldTypeFlags; struct { UCHAR HeaderType; UCHAR MarkerFlags; }; }; union { ULONG Version; struct { UCHAR Type; UCHAR Level; USHORT Version; } Class; }; ULONG ThreadId; ULONG ProcessId; LARGE_INTEGER TimeStamp; union { GUID Guid; ULONGLONG GuidPtr; }; union { struct { ULONG ClientContext; ULONG Flags; }; struct { ULONG KernelTime; ULONG UserTime; }; ULONG64 ProcessorTime; };} EVENT_TRACE_HEADER, *PEVENT_TRACE_HEADER;typedef VOID(NTAPI *PIO_APC_ROUTINE)( IN PVOID ApcContext, IN PIO_STATUS_BLOCK IoStatusBlock, IN ULONG Reserved);typedef VOID(NTAPI *PKNORMAL_ROUTINE)( IN PVOID NormalContext, IN PVOID SystemArgument1, IN PVOID SystemArgument2);typedef VOID(NTAPI *PTIMER_APC_ROUTINE)( IN PVOID TimerContext, IN ULONG TimerLowValue, IN LONG TimerHighValue);typedef struct _LPC_MESSAGE{ USHORT DataSize; USHORT MessageSize; USHORT MessageType; USHORT VirtualRangesOffset; CLIENT_ID ClientId; ULONG MessageId; ULONG SectionSize;} LPC_MESSAGE, *PLPC_MESSAGE;typedef struct _LPC_SECTION_WRITE{ ULONG Length; HANDLE SectionHandle; ULONG SectionOffset; ULONG ViewSize; PVOID ViewBase; PVOID TargetViewBase;} LPC_SECTION_WRITE, *PLPC_SECTION_WRITE;typedef struct _LPC_SECTION_READ{ ULONG Length; ULONG ViewSize; PVOID ViewBase;} LPC_SECTION_READ, *PLPC_SECTION_READ;typedef struct OVERLAPPED{ DWORD Internal; DWORD InternalHigh; DWORD Offset; DWORD OffsetHigh; HANDLE hEvent;}OVERLAPPED,*LPOVERLAPPED;/* From ReactOS, don't touch. */typedef struct _SSDT_ENTRY { PSSDT SSDT; PULONG ServiceCounterTable; ULONG NumberOfServices; PSSPT SSPT;} SSDT_ENTRY;extern HANDLE hBaseDir;/* for kernel *//* These are not exposed to drivers normally */#ifndef _NTOS_MODE_USER #define JOB_OBJECT_ASSIGN_PROCESS (1) #define JOB_OBJECT_SET_ATTRIBUTES (2) #define JOB_OBJECT_QUERY (4) #define JOB_OBJECT_TERMINATE (8) #define JOB_OBJECT_SET_SECURITY_ATTRIBUTES (16) #define JOB_OBJECT_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|31)#endifstruct ps_impersonation_information{ void* token; unsigned char copy_on_open; unsigned char effective_only; enum security_impersonation_level impersonation_level;};struct termination_port { struct termination_port* next; void* port;};struct sid_and_attributes { void* sid; unsigned long attributes;};struct ps_job_token_filter{ unsigned int captured_sid_count; struct sid_and_attributes captured_sids; unsigned int captured_sids_length; unsigned int captured_group_count; struct sid_and_attributes captured_groups; unsigned int captured_groups_length; unsigned int captured_privilege_count; struct sid_and_attributes captured_privileges; unsigned int captured_privileges_length;};struct io_counters { unsigned long long read_op_count; unsigned long long write_opcount; unsigned long long other_op_count; unsigned long long read_transfer_count; unsigned long long write_transfer_count; unsigned long long other_transfer_count;};struct ejob{ struct kevent event; struct list_head job_links; struct list_head process_list_head; struct eresource job_lock; large_integer_t total_utime; large_integer_t total_ktime; large_integer_t this_period_total_utime; large_integer_t this_period_total_ktime; unsigned int total_page_fault_count; unsigned int total_processes; unsigned int active_processes; unsigned int total_terminated_processes; large_integer_t per_process_utime_limit; large_integer_t per_job_utime_limit; unsigned int limit_flags; unsigned int min_workingset_size; unsigned int max_workingset_size; unsigned int active_process_limit; unsigned int affinity; unsigned char priority_class; unsigned int ui_restrictions_class; unsigned int security_limit_flags; void* token; struct ps_job_token_filter* filter; unsigned int end_of_job_time_action; void* completion_port; void* completion_key; unsigned int session_id; unsigned int scheduling_class; unsigned long long read_op_count; unsigned long long write_op_count; unsigned long long other_op_count; unsigned long long read_transfer_count; unsigned long long write_transfer_count; unsigned long long other_transfer_count; struct io_counters io_info; unsigned int process_memory_limit; unsigned int job_memory_limit; unsigned int peak_proc_mem_used; unsigned int peak_job_memused; unsigned int current_job_mem_used; struct kguarded_mutex memory_limits_lock; unsigned long member_level; unsigned long job_flags;};typedef struct _PROCESS_BASIC_INFORMATION { DWORD ExitStatus; DWORD PebBaseAddress; DWORD AffinityMask; DWORD BasePriority; ULONG UniqueProcessId; ULONG InheritedFromUniqueProcessId;} PROCESS_BASIC_INFORMATION, *PPROCESS_BASIC_INFORMATION;typedef struct _KERNEL_USER_TIMES{ large_integer_t CreateTime; large_integer_t ExitTime; large_integer_t KernelTime; large_integer_t UserTime;} KERNEL_USER_TIMES, *PKERNEL_USER_TIMES;typedef struct _PROCESS_SESSION_INFORMATION{ ULONG SessionId;} PROCESS_SESSION_INFORMATION, *PPROCESS_SESSION_INFORMATION;typedef struct _VM_COUNTERS{ SIZE_T PeakVirtualSize; SIZE_T VirtualSize; ULONG PageFaultCount; SIZE_T PeakWorkingSetSize; SIZE_T WorkingSetSize; SIZE_T QuotaPeakPagedPoolUsage; SIZE_T QuotaPagedPoolUsage; SIZE_T QuotaPeakNonPagedPoolUsage; SIZE_T QuotaNonPagedPoolUsage; SIZE_T PagefileUsage; SIZE_T PeakPagefileUsage;} VM_COUNTERS, *PVM_COUNTERS;typedef struct _PROCESS_PRIORITY_CLASS { BOOLEAN Foreground; UCHAR PriorityClass;} PROCESS_PRIORITY_CLASS, *PPROCESS_PRIORITY_CLASS;#endif /* CONFIG_UNIFIED_KERNEL */#endif /* _WIN32_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -