+2021-06-13 Keith Marshall <keith@users.osdn.me>
+
+ Update to add Win10 pseudo-console support.
+
+ * include/winbase.h [_WIN32_WINNT >= _WIN32_WINNT_VISTA]
+ (PROC_THREAD_ATTRIBUTE_PROTECTION_LEVEL, PROTECTION_LEVEL_SAME)
+ (EXTENDED_STARTUPINFO_PRESENT, PROC_THREAD_ATTRIBUTE_PARENT_PROCESS)
+ (PROC_THREAD_ATTRIBUTE_HANDLE_LIST): Define them.
+ (LPPROC_THREAD_ATTRIBUTE_LIST): Typedef as pointer to opaque struct.
+ (STARTUPINFOEXA, STARTUPINFOEXW): Typedef as struct...
+ (LPSTARTUPINFOEXA, LPSTARTUPINFOEXW): ...and pointers thereto.
+ (STARTUPINFOEX, LPSTARTUPINFOEX) [UNICODE vs. !UNICODE]: Alias to
+ STARTUPINFOEXW or STARTUPINFOEXA, respectively.
+ (InitializeProcThreadAttributeList, UpdateProcThreadAttribute)
+ (DeleteProcThreadAttributeList): Declare function prototypes.
+
+ [_WIN32_WINNT >= _WIN32_WINNT_WIN7]
+ (PROC_THREAD_ATTRIBUTE_PREFERRED_NODE)
+ (PROC_THREAD_ATTRIBUTE_MITIGATION_POLICY)
+ (PROCESS_CREATION_MITIGATION_POLICY_DEP_ENABLE)
+ (PROCESS_CREATION_MITIGATION_POLICY_DEP_ATL_THUNK_ENABLE)
+ (PROCESS_CREATION_MITIGATION_POLICY_SEHOP_ENABLE)
+ (PROC_THREAD_ATTRIBUTE_GROUP_AFFINITY)
+ (PROC_THREAD_ATTRIBUTE_IDEAL_PROCESSOR)
+ (PROC_THREAD_ATTRIBUTE_UMS_THREAD): Define them.
+
+ [_WIN32_WINNT >= _WIN32_WINNT_WIN8]
+ (PROCESS_CREATION_MITIGATION_POLICY_FORCE_RELOCATE_IMAGES_ALWAYS_ON)
+ (PROCESS_CREATION_MITIGATION_POLICY_FORCE_RELOCATE_IMAGES_ALWAYS_OFF)
+ (PROCESS_CREATION_MITIGATION_POLICY_FORCE_RELOCATE_IMAGES_ALWAYS_ON_REQ_RELOCS)
+ (PROCESS_CREATION_MITIGATION_POLICY_HEAP_TERMINATE_ALWAYS_ON)
+ (PROCESS_CREATION_MITIGATION_POLICY_HEAP_TERMINATE_ALWAYS_OFF)
+ (PROCESS_CREATION_MITIGATION_POLICY_BOTTOM_UP_ASLR_ALWAYS_ON)
+ (PROCESS_CREATION_MITIGATION_POLICY_BOTTOM_UP_ASLR_ALWAYS_OFF)
+ (PROCESS_CREATION_MITIGATION_POLICY_HIGH_ENTROPY_ASLR_ALWAYS_ON)
+ (PROCESS_CREATION_MITIGATION_POLICY_HIGH_ENTROPY_ASLR_ALWAYS_OFF)
+ (PROCESS_CREATION_MITIGATION_POLICY_STRICT_HANDLE_CHECKS_ALWAYS_ON)
+ (PROCESS_CREATION_MITIGATION_POLICY_STRICT_HANDLE_CHECKS_ALWAYS_OFF)
+ (PROCESS_CREATION_MITIGATION_POLICY_WIN32K_SYSTEM_CALL_DISABLE_ALWAYS_ON)
+ (PROCESS_CREATION_MITIGATION_POLICY_WIN32K_SYSTEM_CALL_DISABLE_ALWAYS_OFF)
+ (PROCESS_CREATION_MITIGATION_POLICY_EXTENSION_POINT_DISABLE_ALWAYS_ON)
+ (PROCESS_CREATION_MITIGATION_POLICY_EXTENSION_POINT_DISABLE_ALWAYS_OFF)
+ (PROCESS_CREATION_MITIGATION_POLICY_PROHIBIT_DYNAMIC_CODE_ALWAYS_ON)
+ (PROCESS_CREATION_MITIGATION_POLICY_PROHIBIT_DYNAMIC_CODE_ALWAYS_OFF)
+ (PROCESS_CREATION_MITIGATION_POLICY_PROHIBIT_DYNAMIC_CODE_ALWAYS_ON_ALLOW_OPT_OUT)
+ (PROCESS_CREATION_MITIGATION_POLICY_PROHIBIT_DYNAMIC_CODE_DEFER)
+ (PROCESS_CREATION_MITIGATION_POLICY_PROHIBIT_DYNAMIC_CODE_MASK)
+ (PROCESS_CREATION_MITIGATION_POLICY_CONTROL_FLOW_GUARD_DEFER)
+ (PROCESS_CREATION_MITIGATION_POLICY_CONTROL_FLOW_GUARD_ALWAYS_ON)
+ (PROCESS_CREATION_MITIGATION_POLICY_CONTROL_FLOW_GUARD_ALWAYS_OFF)
+ (PROCESS_CREATION_MITIGATION_POLICY_CONTROL_FLOW_GUARD_EXPORT_SUPPRESSION)
+ (PROCESS_CREATION_MITIGATION_POLICY_CONTROL_FLOW_GUARD_MASK)
+ (PROCESS_CREATION_MITIGATION_POLICY2_STRICT_CONTROL_FLOW_GUARD_DEFER)
+ (PROCESS_CREATION_MITIGATION_POLICY2_STRICT_CONTROL_FLOW_GUARD_ALWAYS_ON)
+ (PROCESS_CREATION_MITIGATION_POLICY2_STRICT_CONTROL_FLOW_GUARD_ALWAYS_OFF)
+ (PROCESS_CREATION_MITIGATION_POLICY2_STRICT_CONTROL_FLOW_GUARD_RESERVED)
+ (PROCESS_CREATION_MITIGATION_POLICY2_STRICT_CONTROL_FLOW_GUARD_MASK)
+ (PROCESS_CREATION_MITIGATION_POLICY_BLOCK_NON_MICROSOFT_BINARIES_DEFER)
+ (PROCESS_CREATION_MITIGATION_POLICY_BLOCK_NON_MICROSOFT_BINARIES_ALWAYS_ON)
+ (PROCESS_CREATION_MITIGATION_POLICY_BLOCK_NON_MICROSOFT_BINARIES_ALWAYS_OFF)
+ (PROCESS_CREATION_MITIGATION_POLICY_BLOCK_NON_MICROSOFT_BINARIES_ALLOW_STORE)
+ (PROCESS_CREATION_MITIGATION_POLICY_BLOCK_NON_MICROSOFT_BINARIES_MASK)
+ (PROCESS_CREATION_MITIGATION_POLICY_FONT_DISABLE_DEFER)
+ (PROCESS_CREATION_MITIGATION_POLICY_FONT_DISABLE_ALWAYS_ON)
+ (PROCESS_CREATION_MITIGATION_POLICY_FONT_DISABLE_ALWAYS_OFF)
+ (PROCESS_CREATION_MITIGATION_POLICY_AUDIT_NONSYSTEM_FONTS)
+ (PROCESS_CREATION_MITIGATION_POLICY_FONT_DISABLE_MASK)
+ (PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_NO_REMOTE_DEFER)
+ (PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_NO_REMOTE_ALWAYS_ON)
+ (PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_NO_REMOTE_ALWAYS_OFF)
+ (PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_NO_REMOTE_RESERVED)
+ (PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_NO_REMOTE_MASK)
+ (PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_NO_LOW_LABEL_DEFER)
+ (PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_NO_LOW_LABEL_ALWAYS_ON)
+ (PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_NO_LOW_LABEL_ALWAYS_OFF)
+ (PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_NO_LOW_LABEL_RESERVED)
+ (PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_NO_LOW_LABEL_MASK)
+ (PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_NO_PREFER_SYSTEM32_DEFER)
+ (PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_NO_PREFER_SYSTEM32_ALWAYS_ON)
+ (PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_NO_PREFER_SYSTEM32_ALWAYS_OFF)
+ (PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_NO_PREFER_SYSTEM32_RESERVED)
+ (PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_NO_PREFER_SYSTEM32_MASK):
+ Define them.
+
+ [_WIN32_WINNT >= _WIN32_WINNT_WIN10 && NTDDI_VERSION >= NTDDI_WIN10_RS3]
+ (PROCESS_CREATION_MITIGATION_POLICY2_RESTRICT_INDIRECT_BRANCH_PREDICTION_ALWAYS_ON)
+
+ [_WIN32_WINNT >= _WIN32_WINNT_WIN10 && NTDDI_VERSION >= NTDDI_WIN10_RS5]
+ (PROCESS_CREATION_MITIGATION_POLICY2_SPECULATIVE_STORE_BYPASS_DISABLE_ALWAYS_ON)
+ (PROC_THREAD_ATTRIBUTE_PSEUDOCONSOLE): Define them.
+
+ * include/wincon.h [NTDDI_VERSION >= NTDDI_WIN10_RS5]
+ (HPCON): Typedef as Windows handle type.
+ (PSEUDOCONSOLE_INHERIT_CURSOR): Define it.
+ (CreatePseudoConsole, ResizePseudoConsole, ClosePseudoConsole):
+ Declare function prototypes.
+
+ * lib/kernel32.def (CreatePseudoConsole, ResizePseudoConsole)
+ (ClosePseudoConsole): Add references.
+
2021-05-25 Keith Marshall <keith@users.osdn.me>
Add "legacy-safe" emulation of Microsoft's version helpers API.