diff --git a/dlls/kernel/sync.c b/dlls/kernel/sync.c index 291db2d1aff..bc1b42b9892 100644 --- a/dlls/kernel/sync.c +++ b/dlls/kernel/sync.c @@ -948,7 +948,8 @@ HANDLE WINAPI OpenWaitableTimerW( DWORD access, BOOL inherit, LPCWSTR name ) BOOL WINAPI SetWaitableTimer( HANDLE handle, const LARGE_INTEGER *when, LONG period, PTIMERAPCROUTINE callback, LPVOID arg, BOOL resume ) { - NTSTATUS status = NtSetTimer(handle, when, callback, arg, resume, period, NULL); + NTSTATUS status = NtSetTimer(handle, when, (PTIMER_APC_ROUTINE)callback, + arg, resume, period, NULL); if (status != STATUS_SUCCESS) { diff --git a/dlls/ntdll/reg.c b/dlls/ntdll/reg.c index 44d0736fd59..0035896eea7 100644 --- a/dlls/ntdll/reg.c +++ b/dlls/ntdll/reg.c @@ -645,7 +645,7 @@ NTSTATUS WINAPI NtNotifyChangeKey( NTSTATUS WINAPI NtQueryMultipleValueKey( HKEY KeyHandle, - PVALENTW ListOfValuesToQuery, + PKEY_MULTIPLE_VALUE_INFORMATION ListOfValuesToQuery, ULONG NumberOfItems, PVOID MultipleValueInformation, ULONG Length, diff --git a/dlls/ntdll/sync.c b/dlls/ntdll/sync.c index 2aee0103a49..303bb383c60 100644 --- a/dlls/ntdll/sync.c +++ b/dlls/ntdll/sync.c @@ -456,7 +456,7 @@ NTSTATUS WINAPI NtOpenTimer(OUT PHANDLE handle, */ NTSTATUS WINAPI NtSetTimer(IN HANDLE handle, IN const LARGE_INTEGER* when, - IN PTIMERAPCROUTINE callback, + IN PTIMER_APC_ROUTINE callback, IN PVOID callback_arg, IN BOOLEAN resume, IN ULONG period OPTIONAL, diff --git a/include/winternl.h b/include/winternl.h index ecf6ebaa399..d467c7ae606 100644 --- a/include/winternl.h +++ b/include/winternl.h @@ -61,6 +61,21 @@ typedef struct _UNICODE_STRING { typedef const UNICODE_STRING *PCUNICODE_STRING; +#ifndef _FILETIME_ +#define _FILETIME_ +/* 64 bit number of 100 nanoseconds intervals since January 1, 1601 */ +typedef struct _FILETIME +{ +#ifdef WORDS_BIGENDIAN + DWORD dwHighDateTime; + DWORD dwLowDateTime; +#else + DWORD dwLowDateTime; + DWORD dwHighDateTime; +#endif +} FILETIME, *PFILETIME, *LPFILETIME; +#endif /* _FILETIME_ */ + typedef struct _CLIENT_ID { HANDLE UniqueProcess; @@ -1423,6 +1438,16 @@ typedef struct _RTL_QUERY_REGISTRY_TABLE ULONG DefaultLength; } RTL_QUERY_REGISTRY_TABLE, *PRTL_QUERY_REGISTRY_TABLE; +typedef struct _KEY_MULTIPLE_VALUE_INFORMATION +{ + PUNICODE_STRING ValueName; + ULONG DataLength; + ULONG DataOffset; + ULONG Type; +} KEY_MULTIPLE_VALUE_INFORMATION, *PKEY_MULTIPLE_VALUE_INFORMATION; + +typedef VOID (*PTIMER_APC_ROUTINE) ( PVOID, ULONG, LONG ); + /*********************************************************************** * Function declarations @@ -1527,7 +1552,7 @@ NTSTATUS WINAPI NtQueryInformationThread(HANDLE,THREADINFOCLASS,PVOID,ULONG,PUL NTSTATUS WINAPI NtQueryInformationToken(HANDLE,DWORD,LPVOID,DWORD,LPDWORD); NTSTATUS WINAPI NtQueryInstallUILanguage(LANGID*); NTSTATUS WINAPI NtQueryKey(HKEY,KEY_INFORMATION_CLASS,void *,DWORD,DWORD *); -NTSTATUS WINAPI NtQueryMultipleValueKey(HKEY,PVALENTW,ULONG,PVOID,ULONG,PULONG); +NTSTATUS WINAPI NtQueryMultipleValueKey(HKEY,PKEY_MULTIPLE_VALUE_INFORMATION,ULONG,PVOID,ULONG,PULONG); NTSTATUS WINAPI NtQueryObject(HANDLE, OBJECT_INFORMATION_CLASS, PVOID, ULONG, PULONG); NTSTATUS WINAPI NtQueryPerformanceCounter(PLARGE_INTEGER, PLARGE_INTEGER); NTSTATUS WINAPI NtQuerySecurityObject(HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,ULONG,PULONG); @@ -1561,7 +1586,7 @@ NTSTATUS WINAPI NtSetInformationToken(HANDLE,TOKEN_INFORMATION_CLASS,PVOID,ULON NTSTATUS WINAPI NtSetIoCompletion(HANDLE,ULONG,ULONG,NTSTATUS,ULONG); NTSTATUS WINAPI NtSetSecurityObject(HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR); NTSTATUS WINAPI NtSetSystemTime(const LARGE_INTEGER*,LARGE_INTEGER*); -NTSTATUS WINAPI NtSetTimer(HANDLE, const LARGE_INTEGER*, PTIMERAPCROUTINE, PVOID, BOOLEAN, ULONG, BOOLEAN*); +NTSTATUS WINAPI NtSetTimer(HANDLE, const LARGE_INTEGER*, PTIMER_APC_ROUTINE, PVOID, BOOLEAN, ULONG, BOOLEAN*); NTSTATUS WINAPI NtSetValueKey(HKEY,const UNICODE_STRING *,ULONG,ULONG,const void *,ULONG); NTSTATUS WINAPI NtSignalAndWaitForSingleObject(HANDLE,HANDLE,BOOLEAN,const LARGE_INTEGER*); NTSTATUS WINAPI NtSuspendThread(HANDLE,PULONG);