Piotr Caban : ntdll: Add stub implementation of NtQueryInformationThread( ThreadIsIoPending).
Alexandre Julliard
julliard at winehq.org
Wed Feb 8 15:52:11 CST 2017
Module: wine
Branch: master
Commit: 05ab8b98be81929a742d98ba3f1baf95aeabfe78
URL: http://source.winehq.org/git/wine.git/?a=commit;h=05ab8b98be81929a742d98ba3f1baf95aeabfe78
Author: Piotr Caban <piotr at codeweavers.com>
Date: Thu Feb 2 19:27:26 2017 +0100
ntdll: Add stub implementation of NtQueryInformationThread(ThreadIsIoPending).
Signed-off-by: Piotr Caban <piotr at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/kernel32/tests/thread.c | 1 +
dlls/kernel32/thread.c | 13 +++++++++++--
dlls/ntdll/thread.c | 9 ++++++++-
3 files changed, 20 insertions(+), 3 deletions(-)
diff --git a/dlls/kernel32/tests/thread.c b/dlls/kernel32/tests/thread.c
index 001128b..334bdf4 100644
--- a/dlls/kernel32/tests/thread.c
+++ b/dlls/kernel32/tests/thread.c
@@ -1969,6 +1969,7 @@ todo_wine
case ThreadAffinityMask:
case ThreadQuerySetWin32StartAddress:
+ case ThreadIsIoPending:
todo_wine
ok(status == STATUS_ACCESS_DENIED, "for info %u expected STATUS_ACCESS_DENIED, got %08x (ret_len %u)\n", i, status, ret_len);
break;
diff --git a/dlls/kernel32/thread.c b/dlls/kernel32/thread.c
index 82ccebe..de46618 100644
--- a/dlls/kernel32/thread.c
+++ b/dlls/kernel32/thread.c
@@ -918,8 +918,17 @@ LANGID WINAPI GetThreadUILanguage( void )
*/
BOOL WINAPI GetThreadIOPendingFlag( HANDLE thread, PBOOL io_pending )
{
- FIXME("%p, %p\n", thread, io_pending);
- *io_pending = FALSE;
+ NTSTATUS status;
+
+ TRACE("%p, %p\n", thread, io_pending);
+
+ status = NtQueryInformationThread( thread, ThreadIsIoPending,
+ io_pending, sizeof(*io_pending), NULL );
+ if (status)
+ {
+ SetLastError( RtlNtStatusToDosError(status) );
+ return FALSE;
+ }
return TRUE;
}
diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c
index e3cc11a..c9a5da6 100644
--- a/dlls/ntdll/thread.c
+++ b/dlls/ntdll/thread.c
@@ -1157,6 +1157,14 @@ NTSTATUS WINAPI NtQueryInformationThread( HANDLE handle, THREADINFOCLASS class,
}
}
return status;
+ case ThreadIsIoPending:
+ FIXME( "ThreadIsIoPending info class not supported yet\n" );
+ if (length != sizeof(BOOL)) return STATUS_INFO_LENGTH_MISMATCH;
+ if (!data) return STATUS_ACCESS_DENIED;
+
+ *(BOOL*)data = FALSE;
+ if (ret_len) *ret_len = sizeof(BOOL);
+ return STATUS_SUCCESS;
case ThreadPriority:
case ThreadBasePriority:
case ThreadImpersonationToken:
@@ -1167,7 +1175,6 @@ NTSTATUS WINAPI NtQueryInformationThread( HANDLE handle, THREADINFOCLASS class,
case ThreadIdealProcessor:
case ThreadPriorityBoost:
case ThreadSetTlsArrayAddress:
- case ThreadIsIoPending:
default:
FIXME( "info class %d not supported yet\n", class );
return STATUS_NOT_IMPLEMENTED;
More information about the wine-cvs
mailing list