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

Back to archive index
MinGW Notification List mingw****@lists*****
Wed May 12 02:12:58 JST 2021


#41567: Some new Win32 APIs are missing from w32api

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

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-11 18:12 Updated by: keith

Comment:

Reply To eliz
Reply To keith
Reply To eliz
 * PROC_THREAD_ATTRIBUTE_PSEUDOCONSOLE macro
 * Other PROC_THREAD_ATTRIBUTE_* macros

What do you mean by other PROC_THREAD_ATTRIBUTE_* macros?  I'm guessing you are referring to those enumerated as valid for the Attribute parameter of UpdateThreadAttribute(), but that documentation is utterly useless, because the enumeration is no more than a meaningless list of macro names; it does not specify appropriate values for any of those 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.

Actually, some seem to be supported in Vista, some in Win7, and some not until Win8; PROC_THREAD_ATTRIBUTE_PSEUDOCONSOLE appears not to be supported even for all Win10, but only from Win10-v1809 (October 2018 update).  I agree that <winbase.h> is the appropriate header for deployment, but that hardly matters; the lack of appropriate publicly accessible documentation is a blocker!  Unless someone can provide appropriate third-party documentation, (not copies of Microsoft SDK headers), this request cannot be fulfilled.

Are we allowed to look in MinGW64 headers and take the info from there?
Sorry, but I have to say "no".  Although I don't have conclusive proof, our history with that project leads me to a strong suspicion that their headers will have been plagiarized from Microsoft's, in violation of Microsoft's terms of use; I will not make myself an accessory to such suspected plagiarism.

---------------------------------------------------------------------
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