[MinGW-Notify] [mingw] #41567: Some new Win32 APIs are missing from w32api

Back to archive index
MinGW Notification List mingw****@lists*****
Thu May 20 20:09:28 JST 2021


#41567: Some new Win32 APIs are missing from w32api

  Open Date: 2021-02-12 14:20
Last Update: 2021-05-20 12:09

URL for this Ticket:
    https://osdn.net//projects/mingw/ticket/41567
RSS feed for this Ticket:
    https://osdn.net/ticket/ticket_rss.php?group_id=3917&tid=41567

---------------------------------------------------------------------

Last Changes/Comment on this Ticket:
2021-05-20 12:09 Updated by: keith

Comment:

I've attached my current W32API patch, to address this issue; please check if it meets your requirements.
Note that, to expose the pseudo-console API, you will need to #define NTDDI_VERSION NTDDI_WIN10_RS5, (which, with our <sdkddkver.h> should also implicitly #define _WIN32_WINNT _WIN32_WINNT_WIN10; if not, you will also need to define this explicitly).
Further note that, while I've also added a significant swathe of ancillary manifest constant definitions, gleaned from Microsoft's UpdateProcThreadAttribute() documentation, I've omitted some information which may be found there; I found that page to be confusing, w.r.t. which version of Windows was required to support each attribute, and I've omitted those about which I was uncertain.

---------------------------------------------------------------------
Ticket Status:

      Reporter: eliz
         Owner: (None)
          Type: Feature Request
        Status: Open
      Priority: 5 - Medium
     MileStone: (None)
     Component: WSL
      Severity: 5 - Medium
    Resolution: None
---------------------------------------------------------------------

Ticket details:

To compile programs that use the Pseudo Console feature introduced recently with Windows 10, there's a need in several additions to the MinGW w32api headers and import libraries.
First, we need a value for _WIN32_WINNT that specifies Windows 10, in sdkddkver.h:
#define _WIN32_WINNT_WIN10 0x0A00
Second, we need functions, data structures, and macros to create and update lists of attributes for process and thread creation.  These are:
InitializeProcThreadAttributeList function
UpdateProcThreadAttribute function
DeleteProcThreadAttributeList function
PROC_THREAD_ATTRIBUTE_LIST structure
STARTUPINFOEX structure
PROC_THREAD_ATTRIBUTE_PSEUDOCONSOLE macro
Other PROC_THREAD_ATTRIBUTE_* macros
These seem to be supported since Windows 7, with the exception of PROC_THREAD_ATTRIBUTE_PSEUDOCONSOLE, which is only supported since Windows 10, and STARTUPINFOEX, which is supported since Vista.  I think the proper place for them is in the winbase.h header file.
We also need the EXTENDED_STARTUPINFO_PRESENT flag for the CreateProcess function (this flag is supported since Vista and should be in winbase.h).
And finally, we need the functions, data types, and macros to manipulate pseudo-consoles, available only since Windows 10:
CreatePseudoConsole function
ClosePseudoConsole function
ResizePseudoConsole function
HPCON data type
Thanks in advance for providing these.


-- 
Ticket information of MinGW - Minimalist GNU for Windows project
MinGW - Minimalist GNU for Windows Project is hosted on OSDN

Project URL: https://osdn.net/projects/mingw/
OSDN: https://osdn.net

URL for this Ticket:
    https://osdn.net/projects/mingw/ticket/41567
RSS feed for this Ticket:
    https://osdn.net/ticket/ticket_rss.php?group_id=3917&tid=41567



More information about the MinGW-Notify mailing list
Back to archive index