Module: wine Branch: master Commit: 6c7ff61639e332b422937faa9973ecba54acea42 URL: http://source.winehq.org/git/wine.git/?a=commit;h=6c7ff61639e332b422937faa99...
Author: Alexandre Julliard julliard@winehq.org Date: Fri Nov 14 10:49:02 2008 +0100
ntdll: Added stubs for NtGetWriteWatch and NtResetWriteWatch.
---
dlls/ntdll/ntdll.spec | 8 ++++---- dlls/ntdll/virtual.c | 25 ++++++++++++++++++++++++- include/winternl.h | 2 ++ 3 files changed, 30 insertions(+), 5 deletions(-)
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec index 32a2a73..52db956 100644 --- a/dlls/ntdll/ntdll.spec +++ b/dlls/ntdll/ntdll.spec @@ -178,7 +178,7 @@ # @ stub NtGetDevicePowerState @ stub NtGetPlugPlayEvent @ stdcall NtGetTickCount() -# @ stub NtGetWriteWatch +@ stdcall NtGetWriteWatch(long long ptr long ptr ptr ptr) @ stub NtImpersonateAnonymousToken @ stub NtImpersonateClientOfPort @ stub NtImpersonateThread @@ -298,7 +298,7 @@ @ stdcall NtRequestWaitReplyPort(ptr ptr ptr) # @ stub NtRequestWakeupLatency @ stdcall NtResetEvent(long ptr) -# @ stub NtResetWriteWatch +@ stdcall NtResetWriteWatch(long ptr long) @ stdcall NtRestoreKey(long long long) # @ stub NtResumeProcess @ stdcall NtResumeThread(long long) @@ -1022,7 +1022,7 @@ # @ stub ZwGetDevicePowerState @ stub ZwGetPlugPlayEvent @ stdcall ZwGetTickCount() NtGetTickCount -# @ stub ZwGetWriteWatch +@ stdcall ZwGetWriteWatch(long long ptr long ptr ptr ptr) NtGetWriteWatch # @ stub ZwImpersonateAnonymousToken @ stub ZwImpersonateClientOfPort @ stub ZwImpersonateThread @@ -1142,7 +1142,7 @@ @ stdcall ZwRequestWaitReplyPort(ptr ptr ptr) NtRequestWaitReplyPort # @ stub ZwRequestWakeupLatency @ stdcall ZwResetEvent(long ptr) NtResetEvent -# @ stub ZwResetWriteWatch +@ stdcall ZwResetWriteWatch(long ptr long) NtResetWriteWatch @ stdcall ZwRestoreKey(long long long) NtRestoreKey # @ stub ZwResumeProcess @ stdcall ZwResumeThread(long long) NtResumeThread diff --git a/dlls/ntdll/virtual.c b/dlls/ntdll/virtual.c index 21da9af..7a12da2 100644 --- a/dlls/ntdll/virtual.c +++ b/dlls/ntdll/virtual.c @@ -1551,7 +1551,7 @@ NTSTATUS WINAPI NtAllocateVirtualMemory( HANDLE process, PVOID *ret, ULONG zero_ if (type & MEM_WRITE_WATCH) { FIXME("MEM_WRITE_WATCH type not supported\n"); - return STATUS_NOT_SUPPORTED; + return STATUS_INVALID_PARAMETER; } } vprot = VIRTUAL_GetProt( protect ) | VPROT_VALLOC; @@ -2347,6 +2347,29 @@ NTSTATUS WINAPI NtFlushVirtualMemory( HANDLE process, LPCVOID *addr_ptr,
/*********************************************************************** + * NtGetWriteWatch (NTDLL.@) + * ZwGetWriteWatch (NTDLL.@) + */ +NTSTATUS WINAPI NtGetWriteWatch( HANDLE process, ULONG flags, PVOID base, SIZE_T size, PVOID *addresses, + ULONG_PTR *count, ULONG *granularity ) +{ + FIXME( "%p %x %p-%p %p %lu\n", process, flags, base, (char *)base + size, addresses, *count ); + return STATUS_NOT_IMPLEMENTED; +} + + +/*********************************************************************** + * NtResetWriteWatch (NTDLL.@) + * ZwResetWriteWatch (NTDLL.@) + */ +NTSTATUS WINAPI NtResetWriteWatch( HANDLE process, PVOID base, SIZE_T size ) +{ + FIXME( "%p %p-%p\n", process, base, (char *)base + size ); + return STATUS_NOT_IMPLEMENTED; +} + + +/*********************************************************************** * NtReadVirtualMemory (NTDLL.@) * ZwReadVirtualMemory (NTDLL.@) */ diff --git a/include/winternl.h b/include/winternl.h index 25a205a..3968e24 100644 --- a/include/winternl.h +++ b/include/winternl.h @@ -1920,6 +1920,7 @@ NTSYSAPI NTSTATUS WINAPI NtFsControlFile(HANDLE,HANDLE,PIO_APC_ROUTINE,PVOID,PI NTSYSAPI NTSTATUS WINAPI NtGetContextThread(HANDLE,CONTEXT*); NTSYSAPI NTSTATUS WINAPI NtGetPlugPlayEvent(ULONG,ULONG,PVOID,ULONG); NTSYSAPI ULONG WINAPI NtGetTickCount(VOID); +NTSYSAPI NTSTATUS WINAPI NtGetWriteWatch(HANDLE,ULONG,PVOID,SIZE_T,PVOID*,ULONG_PTR*,ULONG*); NTSYSAPI NTSTATUS WINAPI NtImpersonateAnonymousToken(HANDLE); NTSYSAPI NTSTATUS WINAPI NtImpersonateClientOfPort(HANDLE,PPORT_MESSAGE); NTSYSAPI NTSTATUS WINAPI NtImpersonateThread(HANDLE,HANDLE,PSECURITY_QUALITY_OF_SERVICE); @@ -2015,6 +2016,7 @@ NTSYSAPI NTSTATUS WINAPI NtReplyWaitReplyPort(HANDLE,PLPC_MESSAGE); NTSYSAPI NTSTATUS WINAPI NtRequestPort(HANDLE,PLPC_MESSAGE); NTSYSAPI NTSTATUS WINAPI NtRequestWaitReplyPort(HANDLE,PLPC_MESSAGE,PLPC_MESSAGE); NTSYSAPI NTSTATUS WINAPI NtResetEvent(HANDLE,PULONG); +NTSYSAPI NTSTATUS WINAPI NtResetWriteWatch(HANDLE,PVOID,SIZE_T); NTSYSAPI NTSTATUS WINAPI NtRestoreKey(HANDLE,HANDLE,ULONG); NTSYSAPI NTSTATUS WINAPI NtResumeThread(HANDLE,PULONG); NTSYSAPI NTSTATUS WINAPI NtSaveKey(HANDLE,HANDLE);