Stefan Ginsberg <stefan__100__@hotmail.com>

- Fix NtFlushVirtualMemory definition in PSDK.
- Fix NtFlushVirtualMemory's usage in kernel32.
- Fix FlushViewOfFile's prototype (DWORD -> SIZE_T, as it is in PlatformSDK).
- Add a C_ASSERT definition to winnt.h.
- Change a meaningless ASSERT to a C_ASSERT.

svn path=/trunk/; revision=33623
This commit is contained in:
Aleksey Bragin 2008-05-21 16:10:00 +00:00
parent fad6923fb5
commit 04d1f6f145
5 changed files with 18 additions and 7 deletions

View file

@ -255,7 +255,7 @@ NTAPI
LocalLock(HLOCAL hMem) LocalLock(HLOCAL hMem)
{ {
/* This is the same as a GlobalLock, assuming these never change */ /* This is the same as a GlobalLock, assuming these never change */
ASSERT(LMEM_LOCKCOUNT == GMEM_LOCKCOUNT); C_ASSERT(LMEM_LOCKCOUNT == GMEM_LOCKCOUNT);
return GlobalLock(hMem); return GlobalLock(hMem);
} }

View file

@ -353,16 +353,20 @@ OpenFileMappingW(DWORD dwDesiredAccess,
BOOL BOOL
NTAPI NTAPI
FlushViewOfFile(LPCVOID lpBaseAddress, FlushViewOfFile(LPCVOID lpBaseAddress,
DWORD dwNumberOfBytesToFlush) SIZE_T dwNumberOfBytesToFlush)
{ {
SIZE_T NumberOfBytesToFlush;
NTSTATUS Status; NTSTATUS Status;
ULONG NumberOfBytesFlushed; IO_STATUS_BLOCK IoStatusBlock;
/* Save amount of bytes to flush to a local var */
NumberOfBytesToFlush = dwNumberOfBytesToFlush;
/* Flush the view */ /* Flush the view */
Status = NtFlushVirtualMemory(NtCurrentProcess(), Status = NtFlushVirtualMemory(NtCurrentProcess(),
(LPVOID)lpBaseAddress, (LPVOID)lpBaseAddress,
dwNumberOfBytesToFlush, &NumberOfBytesToFlush,
&NumberOfBytesFlushed); &IoStatusBlock);
if (!NT_SUCCESS(Status)) if (!NT_SUCCESS(Status))
{ {
/* We failed */ /* We failed */

View file

@ -1398,7 +1398,7 @@ DWORD WINAPI GetFirmwareEnvironmentVariableW(LPCWSTR,LPCWSTR,PVOID,DWORD);
#endif #endif
BOOL WINAPI FlushFileBuffers(HANDLE); BOOL WINAPI FlushFileBuffers(HANDLE);
BOOL WINAPI FlushInstructionCache(HANDLE,PCVOID,DWORD); BOOL WINAPI FlushInstructionCache(HANDLE,PCVOID,DWORD);
BOOL WINAPI FlushViewOfFile(PCVOID,DWORD); BOOL WINAPI FlushViewOfFile(PCVOID,SIZE_T);
DWORD WINAPI FlsAlloc(PFLS_CALLBACK_FUNCTION); DWORD WINAPI FlsAlloc(PFLS_CALLBACK_FUNCTION);
PVOID WINAPI FlsGetValue(DWORD); PVOID WINAPI FlsGetValue(DWORD);
BOOL WINAPI FlsSetValue(DWORD,PVOID); BOOL WINAPI FlsSetValue(DWORD,PVOID);

View file

@ -238,6 +238,13 @@ typedef BYTE FCHAR;
typedef WORD FSHORT; typedef WORD FSHORT;
typedef DWORD FLONG; typedef DWORD FLONG;
#define __C_ASSERT_JOIN(X, Y) __C_ASSERT_DO_JOIN(X, Y)
#define __C_ASSERT_DO_JOIN(X, Y) __C_ASSERT_DO_JOIN2(X, Y)
#define __C_ASSERT_DO_JOIN2(X, Y) X##Y
#define C_ASSERT(e) typedef char __C_ASSERT_JOIN(__C_ASSERT__, __LINE__)[(e) ? 1 : -1]
#ifdef __GNUC__ #ifdef __GNUC__
#include "intrin.h" #include "intrin.h"
#endif #endif

View file

@ -1739,7 +1739,7 @@ NTSTATUS WINAPI NtFindAtom(const WCHAR*,ULONG,RTL_ATOM*);
NTSTATUS WINAPI NtFlushBuffersFile(HANDLE,IO_STATUS_BLOCK*); NTSTATUS WINAPI NtFlushBuffersFile(HANDLE,IO_STATUS_BLOCK*);
NTSTATUS WINAPI NtFlushInstructionCache(HANDLE,LPCVOID,SIZE_T); NTSTATUS WINAPI NtFlushInstructionCache(HANDLE,LPCVOID,SIZE_T);
NTSTATUS WINAPI NtFlushKey(HANDLE); NTSTATUS WINAPI NtFlushKey(HANDLE);
NTSTATUS WINAPI NtFlushVirtualMemory(HANDLE,LPCVOID*,SIZE_T*,ULONG); NTSTATUS WINAPI NtFlushVirtualMemory(HANDLE,LPCVOID*,SIZE_T*,PIO_STATUS_BLOCK);
NTSTATUS WINAPI NtFlushWriteBuffer(VOID); NTSTATUS WINAPI NtFlushWriteBuffer(VOID);
NTSTATUS WINAPI NtFreeVirtualMemory(HANDLE,PVOID*,SIZE_T*,ULONG); NTSTATUS WINAPI NtFreeVirtualMemory(HANDLE,PVOID*,SIZE_T*,ULONG);
NTSTATUS WINAPI NtFsControlFile(HANDLE,HANDLE,PIO_APC_ROUTINE,PVOID,PIO_STATUS_BLOCK,ULONG,PVOID,ULONG,PVOID,ULONG); NTSTATUS WINAPI NtFsControlFile(HANDLE,HANDLE,PIO_APC_ROUTINE,PVOID,PIO_STATUS_BLOCK,ULONG,PVOID,ULONG,PVOID,ULONG);