On Wednesday 05 November 2025 15:46:09 Martin Storsjö wrote:
> On Sat, 1 Nov 2025, Pali Rohár wrote:
> 
> > FILE_DISPOSITION_INFORMATION_EX is used for issuing POSIX unlink() syscall.
> > Definitions taken from public header ntddk.h file.
> > ---
> > mingw-w64-headers/ddk/include/ddk/ntddk.h | 15 +++++++++++++++
> > mingw-w64-headers/include/winternl.h      | 15 +++++++++++++++
> > 2 files changed, 30 insertions(+)
> 
> Why should this be added to winternl.h? The public WinSDK doesn't have any
> of these declarations in winternl.h - what are you trying to achieve by
> exposing things that normally are only available in DDK headers in
> winternl.h?

I saw that FILE_DISPOSITION_INFORMATION is available in those two files,
so I added FILE_DISPOSITION_INFORMATION_EX into same files too.

winternl.h contains definitions for userspace ntdll.dll usage and
ntddk.h definition for kernel driver ntoskrnl.exe usage. At least this
is how I understand it.

> (Do note that normal structs/defines for using these features are available
> in winbase.h already, since 763b87505a6bbfda6e5e23f257f308fd92e80f4c.

They are not. In 763b87505a6bbfda6e5e23f257f308fd92e80f4c was added
FILE_DISPOSITION_INFO_EX which is not FILE_DISPOSITION_INFORMATION_EX.

FILE_DISPOSITION_INFO_EX is used by SetFileInformationByHandle + 
FileDispositionInfoEx
FILE_DISPOSITION_INFORMATION_EX is used by NtSetInformationFile + 
FileDispositionInformationEx

And note that values FileDispositionInfoEx and FileDispositionInformationEx are 
different.

I did mistake that I mixed "Info" and "Information" values and program
did not work and I spent time to find where is the problem.


_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to