From: Aida Jonikienė aidas957@gmail.com
Real-world app testing reveals that parameter isn't used as a pointer (so change it to an integer). --- dlls/ntdll/ntdll.spec | 4 ++-- dlls/ntdll/signal_arm64ec.c | 2 +- dlls/ntdll/unix/system.c | 2 +- include/winternl.h | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec index 66995346e57..481cd6633ae 100644 --- a/dlls/ntdll/ntdll.spec +++ b/dlls/ntdll/ntdll.spec @@ -339,7 +339,7 @@ @ stdcall -syscall NtQueryVolumeInformationFile(long ptr ptr long long) @ stdcall -syscall NtQueueApcThread(long ptr long long long) @ stdcall -syscall NtRaiseException(ptr ptr long) -@ stdcall -syscall NtRaiseHardError(long long ptr ptr long ptr) +@ stdcall -syscall NtRaiseHardError(long long long ptr long ptr) @ stdcall -syscall NtReadFile(long long ptr ptr ptr ptr long ptr ptr) @ stdcall -syscall NtReadFileScatter(long long ptr ptr ptr ptr long ptr ptr) # @ stub NtReadRequestData @@ -1387,7 +1387,7 @@ @ stdcall -private -syscall ZwQueryVolumeInformationFile(long ptr ptr long long) NtQueryVolumeInformationFile @ stdcall -private -syscall ZwQueueApcThread(long ptr long long long) NtQueueApcThread @ stdcall -private -syscall ZwRaiseException(ptr ptr long) NtRaiseException -@ stdcall -private -syscall ZwRaiseHardError(long long ptr ptr long ptr) NtRaiseHardError +@ stdcall -private -syscall ZwRaiseHardError(long long long ptr long ptr) NtRaiseHardError @ stdcall -private -syscall ZwReadFile(long long ptr ptr ptr ptr long ptr ptr) NtReadFile @ stdcall -private -syscall ZwReadFileScatter(long long ptr ptr ptr ptr long ptr ptr) NtReadFileScatter # @ stub ZwReadRequestData diff --git a/dlls/ntdll/signal_arm64ec.c b/dlls/ntdll/signal_arm64ec.c index 90060e26daf..2bb03d63dfc 100644 --- a/dlls/ntdll/signal_arm64ec.c +++ b/dlls/ntdll/signal_arm64ec.c @@ -1006,7 +1006,7 @@ NTSTATUS WINAPI NtRaiseException( EXCEPTION_RECORD *rec, CONTEXT *context, BOOL return syscall_NtRaiseException( rec, &arm_ctx, first_chance ); }
-NTSTATUS SYSCALL_API NtRaiseHardError( NTSTATUS status, ULONG count, UNICODE_STRING *params_mask, +NTSTATUS SYSCALL_API NtRaiseHardError( NTSTATUS status, ULONG count, ULONG params_mask, void **params, HARDERROR_RESPONSE_OPTION option, HARDERROR_RESPONSE *response ) { diff --git a/dlls/ntdll/unix/system.c b/dlls/ntdll/unix/system.c index 72bdd6b31a5..6523abcde00 100644 --- a/dlls/ntdll/unix/system.c +++ b/dlls/ntdll/unix/system.c @@ -3991,7 +3991,7 @@ NTSTATUS WINAPI NtDisplayString( UNICODE_STRING *string ) * NtRaiseHardError (NTDLL.@) */ NTSTATUS WINAPI NtRaiseHardError( NTSTATUS status, ULONG count, - UNICODE_STRING *params_mask, void **params, + ULONG params_mask, void **params, HARDERROR_RESPONSE_OPTION option, HARDERROR_RESPONSE *response ) { FIXME( "%08x stub\n", (int)status ); diff --git a/include/winternl.h b/include/winternl.h index f027ef47e2f..d48c3111a49 100644 --- a/include/winternl.h +++ b/include/winternl.h @@ -4552,7 +4552,7 @@ NTSYSAPI NTSTATUS WINAPI NtQueryLicenseValue(const UNICODE_STRING *,ULONG *,PVO NTSYSAPI NTSTATUS WINAPI NtQueryVirtualMemory(HANDLE,LPCVOID,MEMORY_INFORMATION_CLASS,PVOID,SIZE_T,SIZE_T*); NTSYSAPI NTSTATUS WINAPI NtQueryVolumeInformationFile(HANDLE,PIO_STATUS_BLOCK,PVOID,ULONG,FS_INFORMATION_CLASS); NTSYSAPI NTSTATUS WINAPI NtRaiseException(PEXCEPTION_RECORD,PCONTEXT,BOOL); -NTSYSAPI NTSTATUS WINAPI NtRaiseHardError(NTSTATUS,ULONG,PUNICODE_STRING,PVOID*,HARDERROR_RESPONSE_OPTION,PHARDERROR_RESPONSE); +NTSYSAPI NTSTATUS WINAPI NtRaiseHardError(NTSTATUS,ULONG,ULONG,PVOID*,HARDERROR_RESPONSE_OPTION,PHARDERROR_RESPONSE); NTSYSAPI NTSTATUS WINAPI NtReadFile(HANDLE,HANDLE,PIO_APC_ROUTINE,PVOID,PIO_STATUS_BLOCK,PVOID,ULONG,PLARGE_INTEGER,PULONG); NTSYSAPI NTSTATUS WINAPI NtReadFileScatter(HANDLE,HANDLE,PIO_APC_ROUTINE,PVOID,PIO_STATUS_BLOCK,FILE_SEGMENT_ELEMENT*,ULONG,PLARGE_INTEGER,PULONG); NTSYSAPI NTSTATUS WINAPI NtReadRequestData(HANDLE,PLPC_MESSAGE,ULONG,PVOID,ULONG,PULONG);
From: Aida Jonikienė aidas957@gmail.com
wow64 already has this (also add the 0x prefix for hex values). --- dlls/ntdll/unix/system.c | 2 +- dlls/wow64/system.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/dlls/ntdll/unix/system.c b/dlls/ntdll/unix/system.c index 6523abcde00..821dc67cbad 100644 --- a/dlls/ntdll/unix/system.c +++ b/dlls/ntdll/unix/system.c @@ -3994,7 +3994,7 @@ NTSTATUS WINAPI NtRaiseHardError( NTSTATUS status, ULONG count, ULONG params_mask, void **params, HARDERROR_RESPONSE_OPTION option, HARDERROR_RESPONSE *response ) { - FIXME( "%08x stub\n", (int)status ); + FIXME( "%#08x %u %#x %p %u %p: stub\n", (int)status, (int)count, (int)params_mask, params, option, response ); return STATUS_NOT_IMPLEMENTED; }
diff --git a/dlls/wow64/system.c b/dlls/wow64/system.c index b2c8eec8769..2f87ab239c5 100644 --- a/dlls/wow64/system.c +++ b/dlls/wow64/system.c @@ -690,7 +690,7 @@ NTSTATUS WINAPI wow64_NtRaiseHardError( UINT *args ) HARDERROR_RESPONSE_OPTION option = get_ulong( &args ); HARDERROR_RESPONSE *response = get_ptr( &args );
- FIXME( "%08lx %lu %lx %p %u %p: stub\n", status, count, params_mask, params, option, response ); + FIXME( "%#08lx %lu %lx %p %u %p: stub\n", status, count, params_mask, params, option, response ); return STATUS_NOT_IMPLEMENTED; }