diff --git a/reactos/lib/kernel32/mem/global.c b/reactos/lib/kernel32/mem/global.c index 32f61e415ab..0c93c6a39ae 100644 --- a/reactos/lib/kernel32/mem/global.c +++ b/reactos/lib/kernel32/mem/global.c @@ -1,4 +1,4 @@ -/* $Id: global.c,v 1.26 2004/07/03 17:40:22 navaraf Exp $ +/* $Id: global.c,v 1.27 2004/08/28 22:16:27 navaraf Exp $ * * Win32 Global/Local heap functions (GlobalXXX, LocalXXX). * These functions included in Win32 for compatibility with 16 bit Windows @@ -491,8 +491,6 @@ GlobalReAlloc(HGLOBAL hMem, DPRINT("GlobalReAlloc( 0x%lX, 0x%lX, 0x%X )\n", (ULONG)hMem, dwBytes, uFlags); - hnew = 0; - if (uFlags & GMEM_ZEROINIT) { heap_flags = HEAP_ZERO_MEMORY; @@ -546,13 +544,6 @@ GlobalReAlloc(HGLOBAL hMem, { /* reallocate a moveable block */ phandle= HANDLE_TO_INTERN(hMem); -#if 0 - if(phandle->LockCount != 0) - { - SetLastError(ERROR_INVALID_HANDLE); - } - else -#endif if (0 != dwBytes) { hnew = hMem; @@ -587,7 +578,6 @@ GlobalReAlloc(HGLOBAL hMem, } else { - hnew = hMem; if(phandle->Pointer) { RtlFreeHeap(GetProcessHeap(), 0, phandle->Pointer - HANDLE_SIZE); @@ -694,7 +684,7 @@ GlobalUnlock(HGLOBAL hMem) else if (GLOBAL_LOCK_MAX > phandle->LockCount) { phandle->LockCount--; - locked = (0 == phandle->LockCount) ? TRUE : FALSE; + locked = (0 != phandle->LockCount) ? TRUE : FALSE; SetLastError(NO_ERROR); } } @@ -727,12 +717,4 @@ GlobalWire(HGLOBAL hMem) return GlobalLock(hMem); } -/* - * @implemented - */ -//HGLOBAL STDCALL -//GlobalDiscard(HGLOBAL hMem) -//{ -// return GlobalReAlloc(hMem, 0, GMEM_MOVEABLE); -//} /* EOF */ diff --git a/reactos/lib/kernel32/mem/section.c b/reactos/lib/kernel32/mem/section.c index 5590c377328..38eeec915c9 100644 --- a/reactos/lib/kernel32/mem/section.c +++ b/reactos/lib/kernel32/mem/section.c @@ -1,4 +1,4 @@ -/* $Id: section.c,v 1.25 2004/05/25 20:04:14 navaraf Exp $ +/* $Id: section.c,v 1.26 2004/08/28 22:16:27 navaraf Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS kernel @@ -33,12 +33,11 @@ CreateFileMappingA(HANDLE hFile, NTSTATUS Status; HANDLE SectionHandle; LARGE_INTEGER MaximumSize; + PLARGE_INTEGER MaximumSizePointer; OBJECT_ATTRIBUTES ObjectAttributes; ANSI_STRING AnsiName; UNICODE_STRING UnicodeName; PSECURITY_DESCRIPTOR SecurityDescriptor; - IO_STATUS_BLOCK IoStatusBlock; - FILE_STANDARD_INFORMATION FileStandard; if ((flProtect & (MASK_PAGE_FLAGS | MASK_SEC_FLAGS)) != flProtect) { @@ -55,26 +54,16 @@ CreateFileMappingA(HANDLE hFile, SecurityDescriptor = NULL; } - if((dwMaximumSizeLow==0)&&(dwMaximumSizeHigh==0)) - { - // MSDN: If dwMaximumSizeLow and dwMaximumSizeHigh are zero, the maximum size of the - // file-mapping object is equal to the current size of the file identified by hFile. - Status = NtQueryInformationFile(hFile, - &IoStatusBlock, - &FileStandard, - sizeof(FILE_STANDARD_INFORMATION), - FileStandardInformation); - if (!NT_SUCCESS(Status)) - { - DPRINT("Status 0x%08x obtaining FileStandardInformation for source\n", Status); - SetLastErrorByStatus(Status); - return NULL; - } - MaximumSize = FileStandard.EndOfFile; - } else { - MaximumSize.u.LowPart = dwMaximumSizeLow; - MaximumSize.u.HighPart = dwMaximumSizeHigh; - } + if (dwMaximumSizeLow == 0 && dwMaximumSizeHigh == 0) + { + MaximumSizePointer = NULL; + } + else + { + MaximumSize.u.LowPart = dwMaximumSizeLow; + MaximumSize.u.HighPart = dwMaximumSizeHigh; + MaximumSizePointer = &MaximumSize; + } RtlInitAnsiString(&AnsiName, (LPSTR)lpName); RtlAnsiStringToUnicodeString(&UnicodeName, @@ -88,7 +77,7 @@ CreateFileMappingA(HANDLE hFile, Status = NtCreateSection(&SectionHandle, SECTION_ALL_ACCESS, &ObjectAttributes, - &MaximumSize, + MaximumSizePointer, flProtect & MASK_PAGE_FLAGS, flProtect & MASK_SEC_FLAGS, hFile==INVALID_HANDLE_VALUE ? NULL : hFile); @@ -120,8 +109,6 @@ CreateFileMappingW(HANDLE hFile, OBJECT_ATTRIBUTES ObjectAttributes; UNICODE_STRING UnicodeName; PSECURITY_DESCRIPTOR SecurityDescriptor; - IO_STATUS_BLOCK IoStatusBlock; - FILE_STANDARD_INFORMATION FileStandard; if ((flProtect & (MASK_PAGE_FLAGS | MASK_SEC_FLAGS)) != flProtect) { @@ -138,29 +125,15 @@ CreateFileMappingW(HANDLE hFile, SecurityDescriptor = NULL; } - if ((dwMaximumSizeLow == 0) && (dwMaximumSizeHigh == 0)) + if (dwMaximumSizeLow == 0 && dwMaximumSizeHigh == 0) { - // MSDN: If dwMaximumSizeLow and dwMaximumSizeHigh are zero, the maximum size of the - // file-mapping object is equal to the current size of the file identified by hFile. - Status = NtQueryInformationFile(hFile, - &IoStatusBlock, - &FileStandard, - sizeof(FILE_STANDARD_INFORMATION), - FileStandardInformation); - if (!NT_SUCCESS(Status)) - { - DPRINT("Status 0x%08x obtaining FileStandardInformation for source\n", Status); - SetLastErrorByStatus(Status); - return NULL; - } - MaximumSize = FileStandard.EndOfFile; - MaximumSizePointer = &MaximumSize; + MaximumSizePointer = NULL; } else { - MaximumSize.u.LowPart = dwMaximumSizeLow; - MaximumSize.u.HighPart = dwMaximumSizeHigh; - MaximumSizePointer = &MaximumSize; + MaximumSize.u.LowPart = dwMaximumSizeLow; + MaximumSize.u.HighPart = dwMaximumSizeHigh; + MaximumSizePointer = &MaximumSize; } RtlInitUnicodeString(&UnicodeName, lpName);