- More MSVC fixes:

Additions or changes to headers: FSRTL_PER_FILEOBJECT_CONTEXT, FsRtlAreNamesEqual uses CONST buffers, KiIpiGenericCall + PKPIP_BROADCAST_WORKER, MmPageEntireDriver returns PVOID, Obf(De)referenceObject return LONG_PTR, KeGetPreviousMode is ExGetPreviousMode. KeGetCurrentPrcb is reimplemented in inline, MAX_PATH exposed to drivers.
- Changes: STATIC->static. static __inline ->FORCEINLINE. STDCALL -> NTAPI (Some). WORD/DWORD/BYTE -> NT Types.
- Kernel bugs fixed: Some string concatenations were broken, some functions had wrong return values.

svn path=/trunk/; revision=23941
This commit is contained in:
Alex Ionescu 2006-09-07 05:07:34 +00:00
parent 17e434d5bd
commit dd25974e25
59 changed files with 357 additions and 313 deletions

View file

@ -28,6 +28,8 @@
#pragma GCC system_header
#endif
#define NTKERNELAPI
#include "ntddk.h"
#define _NTIFS_INCLUDED_
@ -43,14 +45,6 @@ extern "C" {
#define NTSYSAPI
#endif
#ifndef NTKERNELAPI
#if defined(_NTDRIVER_) || defined(_NTDDK_) || defined (_NTIFS_) || defined(_NTHAL_)
#define NTKERNELAPI DECLSPEC_IMPORT
#else
#define NTKERNELAPI
#endif
#endif
#include "csq.h"
typedef struct _SE_EXPORTS *PSE_EXPORTS;
@ -1220,6 +1214,13 @@ typedef struct _FSRTL_PER_STREAM_CONTEXT {
PFREE_FUNCTION FreeCallback;
} FSRTL_PER_STREAM_CONTEXT, *PFSRTL_PER_STREAM_CONTEXT;
typedef struct _FSRTL_PER_FILEOBJECT_CONTEXT
{
LIST_ENTRY Links;
PVOID OwnerId;
PVOID InstanceId;
} FSRTL_PER_FILEOBJECT_CONTEXT, *PFSRTL_PER_FILEOBJECT_CONTEXT;
#endif /* (VER_PRODUCTBUILD >= 2600) */
typedef struct _BASE_MCB
@ -2298,10 +2299,10 @@ NTKERNELAPI
BOOLEAN
NTAPI
FsRtlAreNamesEqual (
IN PUNICODE_STRING Name1,
IN PUNICODE_STRING Name2,
IN PCUNICODE_STRING Name1,
IN PCUNICODE_STRING Name2,
IN BOOLEAN IgnoreCase,
IN PWCHAR UpcaseTable OPTIONAL
IN PCWCH UpcaseTable OPTIONAL
);
#define FsRtlAreThereCurrentFileLocks(FL) ( \

View file

@ -40,11 +40,8 @@ extern "C" {
#define DDKCDECLAPI __cdecl
/* FIXME: REMOVE THIS UNCOMPATIBLE CRUFT!!! */
#if defined(_NTDRIVER_) || defined(_NTDDK_) || defined (_NTIFS_) || defined(_NTHAL_)
#define NTKERNELAPI DECLSPEC_IMPORT
#else
#define NTKERNELAPI
#endif
#ifndef NTOSAPI
#define NTOSAPI NTKERNELAPI
#endif
@ -8983,6 +8980,20 @@ KeWaitForSingleObject(
IN BOOLEAN Alertable,
IN PLARGE_INTEGER Timeout OPTIONAL);
typedef
ULONG_PTR
(*NTAPI PKIPI_BROADCAST_WORKER)(
IN ULONG_PTR Argument
);
NTKERNELAPI
ULONG_PTR
NTAPI
KeIpiGenericCall(
IN PKIPI_BROADCAST_WORKER BroadcastFunction,
IN ULONG_PTR Context
);
#if defined(_X86_)
NTHALAPI
@ -9378,7 +9389,7 @@ MmMapLockedPages(
IN KPROCESSOR_MODE AccessMode);
NTOSAPI
VOID
PVOID
DDKAPI
MmPageEntireDriver(
IN PVOID AddressWithinSection);
@ -9536,7 +9547,7 @@ ObDereferenceSecurityDescriptor(
ULONG Count);
NTOSAPI
VOID
LONG_PTR
DDKFASTAPI
ObfDereferenceObject(
IN PVOID Object);
@ -9568,7 +9579,7 @@ ObInsertObject(
OUT PHANDLE Handle);
NTOSAPI
VOID
LONG_PTR
DDKFASTAPI
ObfReferenceObject(
IN PVOID Object);

View file

@ -109,9 +109,18 @@ Author:
//
// Macro to get current KPRCB
//
#ifndef _REACTOS_ // fixme
#define KeGetCurrentPrcb() \
(PKPRCB)__readfsdword(KPCR_PRCB);
#ifndef __GNUC__ // fixme
FORCEINLINE
struct _KPRCB *
KeGetCurrentPrcb(VOID)
{
return (struct _KPRCB *)(ULONG_PTR)__readfsdword(FIELD_OFFSET(KPCR, Prcb));
}
//
// Macro to get current previous mode
//
#define KeGetPreviousMode ExGetPreviousMode
#endif
//

View file

@ -28,44 +28,44 @@ Author:
//
// Maximum Atom Length
//
#define RTL_MAXIMUM_ATOM_LENGTH 255
#define RTL_MAXIMUM_ATOM_LENGTH 255
//
// Process Parameters Flags
//
#define RTL_USER_PROCESS_PARAMETERS_NORMALIZED 0x01
#define RTL_USER_PROCESS_PARAMETERS_PROFILE_USER 0x02
#define RTL_USER_PROCESS_PARAMETERS_PROFILE_SERVER 0x04
#define RTL_USER_PROCESS_PARAMETERS_PROFILE_KERNEL 0x08
#define RTL_USER_PROCESS_PARAMETERS_UNKNOWN 0x10
#define RTL_USER_PROCESS_PARAMETERS_RESERVE_1MB 0x20
#define RTL_USER_PROCESS_PARAMETERS_DISABLE_HEAP_CHECKS 0x100
#define RTL_USER_PROCESS_PARAMETERS_PROCESS_OR_1 0x200
#define RTL_USER_PROCESS_PARAMETERS_PROCESS_OR_2 0x400
#define RTL_USER_PROCESS_PARAMETERS_PRIVATE_DLL_PATH 0x1000
#define RTL_USER_PROCESS_PARAMETERS_LOCAL_DLL_PATH 0x2000
#define RTL_USER_PROCESS_PARAMETERS_NX 0x20000
#define RTL_USER_PROCESS_PARAMETERS_NORMALIZED 0x01
#define RTL_USER_PROCESS_PARAMETERS_PROFILE_USER 0x02
#define RTL_USER_PROCESS_PARAMETERS_PROFILE_SERVER 0x04
#define RTL_USER_PROCESS_PARAMETERS_PROFILE_KERNEL 0x08
#define RTL_USER_PROCESS_PARAMETERS_UNKNOWN 0x10
#define RTL_USER_PROCESS_PARAMETERS_RESERVE_1MB 0x20
#define RTL_USER_PROCESS_PARAMETERS_DISABLE_HEAP_CHECKS 0x100
#define RTL_USER_PROCESS_PARAMETERS_PROCESS_OR_1 0x200
#define RTL_USER_PROCESS_PARAMETERS_PROCESS_OR_2 0x400
#define RTL_USER_PROCESS_PARAMETERS_PRIVATE_DLL_PATH 0x1000
#define RTL_USER_PROCESS_PARAMETERS_LOCAL_DLL_PATH 0x2000
#define RTL_USER_PROCESS_PARAMETERS_NX 0x20000
//
// Exception Flags
//
#define EXCEPTION_CHAIN_END ((PEXCEPTION_REGISTRATION_RECORD)-1)
#define EXCEPTION_UNWINDING 0x02
#define EXCEPTION_EXIT_UNWIND 0x04
#define EXCEPTION_STACK_INVALID 0x08
#define EXCEPTION_UNWIND (EXCEPTION_UNWINDING + EXCEPTION_EXIT_UNWIND)
#define EXCEPTION_NESTED_CALL 0x10
#define EXCEPTION_TARGET_UNWIND 0x20
#define EXCEPTION_COLLIDED_UNWIND 0x20
#define EXCEPTION_CHAIN_END ((PEXCEPTION_REGISTRATION_RECORD)-1)
#define EXCEPTION_UNWINDING 0x02
#define EXCEPTION_EXIT_UNWIND 0x04
#define EXCEPTION_STACK_INVALID 0x08
#define EXCEPTION_UNWIND (EXCEPTION_UNWINDING + EXCEPTION_EXIT_UNWIND)
#define EXCEPTION_NESTED_CALL 0x10
#define EXCEPTION_TARGET_UNWIND 0x20
#define EXCEPTION_COLLIDED_UNWIND 0x20
//
// Range and Range List Flags
//
#define RTL_RANGE_LIST_ADD_IF_CONFLICT 0x00000001
#define RTL_RANGE_LIST_ADD_SHARED 0x00000002
#define RTL_RANGE_LIST_ADD_IF_CONFLICT 0x00000001
#define RTL_RANGE_LIST_ADD_SHARED 0x00000002
#define RTL_RANGE_SHARED 0x01
#define RTL_RANGE_CONFLICT 0x02
#define RTL_RANGE_SHARED 0x01
#define RTL_RANGE_CONFLICT 0x02
//
// Activation Context Frame Flags
@ -145,53 +145,58 @@ C_ASSERT(HEAP_CREATE_VALID_MASK == 0x0007F0FF);
//
// Registry Keys
//
#define RTL_REGISTRY_ABSOLUTE 0
#define RTL_REGISTRY_SERVICES 1
#define RTL_REGISTRY_CONTROL 2
#define RTL_REGISTRY_WINDOWS_NT 3
#define RTL_REGISTRY_DEVICEMAP 4
#define RTL_REGISTRY_USER 5
#define RTL_REGISTRY_MAXIMUM 6
#define RTL_REGISTRY_HANDLE 0x40000000
#define RTL_REGISTRY_OPTIONAL 0x80000000
#define RTL_QUERY_REGISTRY_SUBKEY 0x00000001
#define RTL_QUERY_REGISTRY_TOPKEY 0x00000002
#define RTL_QUERY_REGISTRY_REQUIRED 0x00000004
#define RTL_QUERY_REGISTRY_NOVALUE 0x00000008
#define RTL_QUERY_REGISTRY_NOEXPAND 0x00000010
#define RTL_QUERY_REGISTRY_DIRECT 0x00000020
#define RTL_QUERY_REGISTRY_DELETE 0x00000040
#define RTL_REGISTRY_ABSOLUTE 0
#define RTL_REGISTRY_SERVICES 1
#define RTL_REGISTRY_CONTROL 2
#define RTL_REGISTRY_WINDOWS_NT 3
#define RTL_REGISTRY_DEVICEMAP 4
#define RTL_REGISTRY_USER 5
#define RTL_REGISTRY_MAXIMUM 6
#define RTL_REGISTRY_HANDLE 0x40000000
#define RTL_REGISTRY_OPTIONAL 0x80000000
#define RTL_QUERY_REGISTRY_SUBKEY 0x00000001
#define RTL_QUERY_REGISTRY_TOPKEY 0x00000002
#define RTL_QUERY_REGISTRY_REQUIRED 0x00000004
#define RTL_QUERY_REGISTRY_NOVALUE 0x00000008
#define RTL_QUERY_REGISTRY_NOEXPAND 0x00000010
#define RTL_QUERY_REGISTRY_DIRECT 0x00000020
#define RTL_QUERY_REGISTRY_DELETE 0x00000040
//
// Versioning
//
#define VER_MINORVERSION 0x0000001
#define VER_MAJORVERSION 0x0000002
#define VER_BUILDNUMBER 0x0000004
#define VER_PLATFORMID 0x0000008
#define VER_SERVICEPACKMINOR 0x0000010
#define VER_SERVICEPACKMAJOR 0x0000020
#define VER_SUITENAME 0x0000040
#define VER_PRODUCT_TYPE 0x0000080
#define VER_PLATFORM_WIN32s 0
#define VER_PLATFORM_WIN32_WINDOWS 1
#define VER_PLATFORM_WIN32_NT 2
#define VER_EQUAL 1
#define VER_GREATER 2
#define VER_GREATER_EQUAL 3
#define VER_LESS 4
#define VER_LESS_EQUAL 5
#define VER_AND 6
#define VER_OR 7
#define VER_CONDITION_MASK 7
#define VER_NUM_BITS_PER_CONDITION_MASK 3
#define VER_MINORVERSION 0x0000001
#define VER_MAJORVERSION 0x0000002
#define VER_BUILDNUMBER 0x0000004
#define VER_PLATFORMID 0x0000008
#define VER_SERVICEPACKMINOR 0x0000010
#define VER_SERVICEPACKMAJOR 0x0000020
#define VER_SUITENAME 0x0000040
#define VER_PRODUCT_TYPE 0x0000080
#define VER_PLATFORM_WIN32s 0
#define VER_PLATFORM_WIN32_WINDOWS 1
#define VER_PLATFORM_WIN32_NT 2
#define VER_EQUAL 1
#define VER_GREATER 2
#define VER_GREATER_EQUAL 3
#define VER_LESS 4
#define VER_LESS_EQUAL 5
#define VER_AND 6
#define VER_OR 7
#define VER_CONDITION_MASK 7
#define VER_NUM_BITS_PER_CONDITION_MASK 3
//
// Timezone IDs
//
#define TIME_ZONE_ID_UNKNOWN 0
#define TIME_ZONE_ID_STANDARD 1
#define TIME_ZONE_ID_DAYLIGHT 2
#define TIME_ZONE_ID_UNKNOWN 0
#define TIME_ZONE_ID_STANDARD 1
#define TIME_ZONE_ID_DAYLIGHT 2
//
// Maximum Path Length
//
#define MAX_PATH 260
//
// RTL Lock Type (Critical Section or Resource)

View file

@ -1,47 +1,47 @@
#ifndef __REACTOS_LDR_H
#define __REACTOS_LDR_H
#define MB_FLAGS_MEM_INFO (0x1)
#define MB_FLAGS_BOOT_DEVICE (0x2)
#define MB_FLAGS_COMMAND_LINE (0x4)
#define MB_FLAGS_MODULE_INFO (0x8)
#define MB_FLAGS_AOUT_SYMS (0x10)
#define MB_FLAGS_ELF_SYMS (0x20)
#define MB_FLAGS_MMAP_INFO (0x40)
#define MB_FLAGS_DRIVES_INFO (0x80)
#define MB_FLAGS_CONFIG_TABLE (0x100)
#define MB_FLAGS_BOOT_LOADER_NAME (0x200)
#define MB_FLAGS_APM_TABLE (0x400)
#define MB_FLAGS_GRAPHICS_TABLE (0x800)
#define MB_FLAGS_ACPI_TABLE (0x1000)
typedef struct _LOADER_MODULE
{
ULONG ModStart;
ULONG ModEnd;
ULONG String;
ULONG Reserved;
#define MB_FLAGS_MEM_INFO (0x1)
#define MB_FLAGS_BOOT_DEVICE (0x2)
#define MB_FLAGS_COMMAND_LINE (0x4)
#define MB_FLAGS_MODULE_INFO (0x8)
#define MB_FLAGS_AOUT_SYMS (0x10)
#define MB_FLAGS_ELF_SYMS (0x20)
#define MB_FLAGS_MMAP_INFO (0x40)
#define MB_FLAGS_DRIVES_INFO (0x80)
#define MB_FLAGS_CONFIG_TABLE (0x100)
#define MB_FLAGS_BOOT_LOADER_NAME (0x200)
#define MB_FLAGS_APM_TABLE (0x400)
#define MB_FLAGS_GRAPHICS_TABLE (0x800)
#define MB_FLAGS_ACPI_TABLE (0x1000)
typedef struct _LOADER_MODULE
{
ULONG ModStart;
ULONG ModEnd;
ULONG String;
ULONG Reserved;
} LOADER_MODULE, *PLOADER_MODULE;
typedef struct _ROS_LOADER_PARAMETER_BLOCK
{
ULONG Flags;
ULONG MemLower;
ULONG MemHigher;
ULONG BootDevice;
ULONG CommandLine;
ULONG ModsCount;
ULONG ModsAddr;
UCHAR Syms[12];
ULONG MmapLength;
ULONG MmapAddr;
ULONG DrivesCount;
ULONG DrivesAddr;
ULONG ConfigTable;
ULONG BootLoaderName;
ULONG PageDirectoryStart;
ULONG PageDirectoryEnd;
ULONG KernelBase;
typedef struct _ROS_LOADER_PARAMETER_BLOCK
{
ULONG Flags;
ULONG MemLower;
ULONG MemHigher;
ULONG BootDevice;
ULONG CommandLine;
ULONG ModsCount;
ULONG ModsAddr;
UCHAR Syms[12];
ULONG MmapLength;
ULONG MmapAddr;
ULONG DrivesCount;
ULONG DrivesAddr;
ULONG ConfigTable;
ULONG BootLoaderName;
ULONG PageDirectoryStart;
ULONG PageDirectoryEnd;
ULONG KernelBase;
} ROS_LOADER_PARAMETER_BLOCK, *PROS_LOADER_PARAMETER_BLOCK;
#endif

View file

@ -556,7 +556,7 @@ CcRosUnmapCacheSegment(PBCB Bcb, ULONG FileOffset, BOOLEAN NowDirty)
return(STATUS_SUCCESS);
}
NTSTATUS STATIC
NTSTATUS static
CcRosCreateCacheSegment(PBCB Bcb,
ULONG FileOffset,
PCACHE_SEGMENT* CacheSeg)
@ -863,7 +863,7 @@ CcRosRequestCacheSegment(PBCB Bcb,
}
#ifdef CACHE_BITMAP
#else
STATIC VOID
static VOID
CcFreeCachePage(PVOID Context, MEMORY_AREA* MemoryArea, PVOID Address,
PFN_TYPE Page, SWAPENTRY SwapEntry, BOOLEAN Dirty)
{

View file

@ -803,7 +803,7 @@ NTSTATUS
CmiRemoveKeyFromList(PKEY_OBJECT KeyToRemove)
{
PKEY_OBJECT ParentKey;
DWORD Index;
ULONG Index;
ParentKey = KeyToRemove->ParentKey;
/* FIXME: If list maintained in alphabetic order, use dichotomic search */

View file

@ -177,7 +177,7 @@ KeInitInterrupts (VOID)
}
}
STATIC VOID
static VOID
KeIRQTrapFrameToTrapFrame(PKIRQ_TRAPFRAME IrqTrapFrame,
PKTRAP_FRAME TrapFrame)
{
@ -198,7 +198,7 @@ KeIRQTrapFrameToTrapFrame(PKIRQ_TRAPFRAME IrqTrapFrame,
TrapFrame->EFlags = IrqTrapFrame->Eflags;
}
STATIC VOID
static VOID
KeTrapFrameToIRQTrapFrame(PKTRAP_FRAME TrapFrame,
PKIRQ_TRAPFRAME IrqTrapFrame)
{

View file

@ -142,7 +142,7 @@ ExSystemExceptionFilter(VOID)
* Optional string parameter (can be only one per error code)
*
* @param Parameters
* Array of DWORD parameters for use in error message string
* Array of ULONG parameters for use in error message string
*
* @param ValidResponseOptions
* See HARDERROR_RESPONSE_OPTION for possible values description
@ -193,7 +193,7 @@ ExRaiseHardError(IN NTSTATUS ErrorStatus,
* Optional string parameter (can be only one per error code)
*
* @param Parameters
* Array of DWORD parameters for use in error message string
* Array of ULONG parameters for use in error message string
*
* @param ValidResponseOptions
* See HARDERROR_RESPONSE_OPTION for possible values description

View file

@ -229,7 +229,7 @@ NtSetDefaultLocale(IN BOOLEAN UserProfile,
/* Initialize the system registry location */
RtlInitUnicodeString(&KeyName,
L"\\Registry\\Machine\\System\\CurrentControlSet"
"\\Control\\Nls\\Language");
L"\\Control\\Nls\\Language");
RtlInitUnicodeString(&ValueName, L"Default");
}

View file

@ -50,8 +50,8 @@ FsRtlRemovePerStreamContext(IN PFSRTL_ADVANCED_FCB_HEADER StreamContext,
*/
NTSTATUS
NTAPI
FsRtlInsertPerFileObjectContext(IN PFSRTL_ADVANCED_FCB_HEADER PerFileObjectContext,
IN PVOID /* PFSRTL_PER_FILE_OBJECT_CONTEXT*/ Ptr)
FsRtlInsertPerFileObjectContext(IN PFILE_OBJECT FileObject,
IN PFSRTL_PER_FILEOBJECT_CONTEXT Ptr)
{
UNIMPLEMENTED;
return STATUS_NOT_IMPLEMENTED;
@ -60,7 +60,7 @@ FsRtlInsertPerFileObjectContext(IN PFSRTL_ADVANCED_FCB_HEADER PerFileObjectConte
/*
* @unimplemented
*/
PVOID /* PFSRTL_PER_FILE_OBJECT_CONTEXT*/
PFSRTL_PER_FILEOBJECT_CONTEXT
NTAPI
FsRtlRemovePerFileObjectContext(IN PFSRTL_ADVANCED_FCB_HEADER PerFileObjectContext,
IN PVOID OwnerId OPTIONAL,

View file

@ -353,7 +353,7 @@ FsRtlpFastUnlockAllByKey(
IN PFILE_LOCK FileLock,
IN PFILE_OBJECT FileObject,
IN PEPROCESS Process,
IN DWORD Key,
IN ULONG Key,
IN BOOLEAN UseKey,
IN PVOID Context OPTIONAL
)

View file

@ -179,10 +179,10 @@ PUCHAR FsRtlLegalAnsiCharacterArray = LegalAnsiCharacterArray;
*--*/
BOOLEAN
NTAPI
FsRtlAreNamesEqual(IN PUNICODE_STRING Name1,
IN PUNICODE_STRING Name2,
FsRtlAreNamesEqual(IN PCUNICODE_STRING Name1,
IN PCUNICODE_STRING Name2,
IN BOOLEAN IgnoreCase,
IN PWCHAR UpcaseTable OPTIONAL)
IN PCWCH UpcaseTable OPTIONAL)
{
UNICODE_STRING UpcaseName1;
UNICODE_STRING UpcaseName2;

View file

@ -107,6 +107,7 @@ FsRtlAllocatePoolWithQuota(IN POOL_TYPE PoolType,
* @remarks None
*
*--*/
#undef FsRtlAllocatePoolWithQuotaTag
PVOID
NTAPI
FsRtlAllocatePoolWithQuotaTag (IN POOL_TYPE PoolType,
@ -147,6 +148,7 @@ FsRtlAllocatePoolWithQuotaTag (IN POOL_TYPE PoolType,
* @remarks None
*
*--*/
#undef FsRtlAllocatePoolWithTag
PVOID
NTAPI
FsRtlAllocatePoolWithTag(IN POOL_TYPE PoolType,

View file

@ -117,7 +117,7 @@ FsRtlIsNtstatusExpected(IN NTSTATUS NtStatus)
* @remarks None.
*
*--*/
BOOLEAN
LOGICAL
NTAPI
FsRtlIsPagingFile(IN PFILE_OBJECT FileObject)
{
@ -293,9 +293,9 @@ FsRtlPostStackOverflow(IN PVOID Context,
*--*/
NTSTATUS
NTAPI
FsRtlSyncVolumes(DWORD Unknown0,
DWORD Unknown1,
DWORD Unknown2)
FsRtlSyncVolumes(ULONG Unknown0,
ULONG Unknown1,
ULONG Unknown2)
{
return STATUS_SUCCESS;
}

View file

@ -30,13 +30,13 @@ HalReleaseDisplayOwnership(VOID);
/* DATA **********************************************************************/
static HANDLE BootVidDevice = NULL;
static BOOL BootVidDriverInstalled = FALSE;
static BOOLEAN BootVidDriverInstalled = FALSE;
static NTBOOTVID_FUNCTION_TABLE BootVidFunctionTable;
/* FUNCTIONS *****************************************************************/
NTSTATUS
STATIC
static
InbvCheckBootVid(VOID)
{
IO_STATUS_BLOCK Iosb;

View file

@ -198,7 +198,7 @@ CcTryToInitializeFileCache(PFILE_OBJECT FileObject);
*/
#define KEBUGCHECKCC \
KEBUGCHECKEX(CACHE_MANAGER, \
(*(DWORD*)(__FILE__ + sizeof(__FILE__) - 4) << 16) | \
(*(ULONG*)(__FILE__ + sizeof(__FILE__) - 4) << 16) | \
(__LINE__ & 0xFFFF), 0, 0, 0)
#endif

View file

@ -105,8 +105,13 @@
#else /* DBG */
#ifdef __GNUC__ /* using GNU C/C99 macro ellipsis */
#define CPRINT(args...)
#define DPRINT1(args...)
#else
#define CPRINT
#define DPRINT1
#endif
#ifndef __USE_W32API
#define assert(x)
#define ASSERT(x)

View file

@ -29,6 +29,12 @@ extern POBJECT_TYPE ExEventPairObjectType;
#define ExReleaseResourceLock(l, i) KeReleaseSpinLock(l, i);
#endif
#define ExAcquireRundownProtection _ExAcquireRundownProtection
#define ExReleaseRundownProtection _ExReleaseRundownProtection
#define ExInitializeRundownProtection _ExInitializeRundownProtection
#define ExWaitForRundownProtectionRelease _ExWaitForRundownProtectionRelease
#define ExRundownCompleted _ExRundownCompleted
/* INITIALIZATION FUNCTIONS *************************************************/
VOID
@ -290,7 +296,7 @@ static __inline _SEH_FILTER(_SEH_ExSystemExceptionFilter)
*--*/
BOOLEAN
FORCEINLINE
ExAcquireRundownProtection(IN PEX_RUNDOWN_REF RunRef)
_ExAcquireRundownProtection(IN PEX_RUNDOWN_REF RunRef)
{
ULONG_PTR Value, NewValue, OldValue;
@ -331,7 +337,7 @@ ExAcquireRundownProtection(IN PEX_RUNDOWN_REF RunRef)
*--*/
VOID
FORCEINLINE
ExReleaseRundownProtection(IN PEX_RUNDOWN_REF RunRef)
_ExReleaseRundownProtection(IN PEX_RUNDOWN_REF RunRef)
{
ULONG_PTR Value, NewValue, OldValue;
@ -374,7 +380,7 @@ ExReleaseRundownProtection(IN PEX_RUNDOWN_REF RunRef)
*--*/
VOID
FORCEINLINE
ExInitializeRundownProtection(IN PEX_RUNDOWN_REF RunRef)
_ExInitializeRundownProtection(IN PEX_RUNDOWN_REF RunRef)
{
/* Set the count to zero */
RunRef->Count = 0;
@ -398,7 +404,7 @@ ExInitializeRundownProtection(IN PEX_RUNDOWN_REF RunRef)
*--*/
VOID
FORCEINLINE
ExWaitForRundownProtectionRelease(IN PEX_RUNDOWN_REF RunRef)
_ExWaitForRundownProtectionRelease(IN PEX_RUNDOWN_REF RunRef)
{
ULONG_PTR Value;
@ -428,7 +434,7 @@ ExWaitForRundownProtectionRelease(IN PEX_RUNDOWN_REF RunRef)
*--*/
VOID
FORCEINLINE
ExRundownCompleted(IN PEX_RUNDOWN_REF RunRef)
_ExRundownCompleted(IN PEX_RUNDOWN_REF RunRef)
{
/* Sanity check */
ASSERT((RunRef->Count & EX_RUNDOWN_ACTIVE) != 0);

View file

@ -23,7 +23,7 @@
#include "i386/v86m.h"
#include "ob.h"
#include "mm.h"
#include "ex.h"
#include "ex2.h"
#include "ps.h"
#include "cc.h"
#include "io.h"

View file

@ -21,7 +21,7 @@ PMmProbeAndLockPages(
LOCK_OPERATION Operation
);
typedef VOID
typedef LONG_PTR
FASTCALL
PObDereferenceObject(PVOID Object);

View file

@ -9,17 +9,13 @@
/* INCLUDES ******************************************************************/
/* We are the Kernel */
#define NTKERNELAPI
#define _NTSYSTEM_
/* DDK/IFS/NDK Headers */
#ifdef __GNUC__
#include <ntddk.h>
#endif
#include <ntifs.h>
#include <wdmguid.h>
#include <arc/arc.h>
#include <ndk/ntndk.h>
#include <ntndk.h>
#undef TEXT
#define TEXT(s) L##s
#include <regstr.h>

View file

@ -53,7 +53,7 @@ IopCheckCdromDevices(PULONG DeviceNumber);
/* FUNCTIONS ****************************************************************/
STATIC
static
NTSTATUS
STDCALL
INIT_FUNCTION
@ -94,7 +94,7 @@ DiskQueryRoutine(PWSTR ValueName,
#define ROOT_NAME L"\\Registry\\Machine\\HARDWARE\\DESCRIPTION\\System\\MultifunctionAdapter"
STATIC VOID INIT_FUNCTION
static VOID INIT_FUNCTION
IopEnumerateBiosDisks(PLIST_ENTRY ListHead)
{
RTL_QUERY_REGISTRY_TABLE QueryTable[2];
@ -178,7 +178,7 @@ IopEnumerateBiosDisks(PLIST_ENTRY ListHead)
}
}
STATIC VOID INIT_FUNCTION
static VOID INIT_FUNCTION
IopEnumerateDisks(PLIST_ENTRY ListHead)
{
ULONG i, k;
@ -321,7 +321,7 @@ IopEnumerateDisks(PLIST_ENTRY ListHead)
}
}
STATIC NTSTATUS INIT_FUNCTION
static NTSTATUS INIT_FUNCTION
IopAssignArcNamesToDisk(PDEVICE_OBJECT DeviceObject, ULONG RDisk, ULONG DiskNumber)
{
WCHAR DeviceNameBuffer[80];

View file

@ -1376,15 +1376,15 @@ IoStartNextPacketByKey(IN PDEVICE_OBJECT DeviceObject,
if (DeviceExtension->StartIoFlags & DOE_SIO_DEFERRED)
{
/* Call our internal function to handle the defered case */
return IopStartNextPacketByKeyEx(DeviceObject,
Key,
DOE_SIO_WITH_KEY |
(Cancelable) ? DOE_SIO_CANCELABLE : 0);
IopStartNextPacketByKeyEx(DeviceObject,
Key,
DOE_SIO_WITH_KEY |
(Cancelable) ? DOE_SIO_CANCELABLE : 0);
}
else
{
/* Call the normal routine */
return IopStartNextPacketByKey(DeviceObject, Cancelable, Key);
IopStartNextPacketByKey(DeviceObject, Cancelable, Key);
}
}
@ -1405,15 +1405,15 @@ IoStartNextPacket(IN PDEVICE_OBJECT DeviceObject,
if (DeviceExtension->StartIoFlags & DOE_SIO_DEFERRED)
{
/* Call our internal function to handle the defered case */
return IopStartNextPacketByKeyEx(DeviceObject,
0,
DOE_SIO_NO_KEY |
(Cancelable) ? DOE_SIO_CANCELABLE : 0);
IopStartNextPacketByKeyEx(DeviceObject,
0,
DOE_SIO_NO_KEY |
(Cancelable) ? DOE_SIO_CANCELABLE : 0);
}
else
{
/* Call the normal routine */
return IopStartNextPacket(DeviceObject, Cancelable);
IopStartNextPacket(DeviceObject, Cancelable);
}
}

View file

@ -67,22 +67,22 @@ IopGetGroupOrderList(PWSTR ValueName,
if (ValueType == REG_BINARY &&
ValueData != NULL &&
ValueLength >= sizeof(DWORD) &&
ValueLength >= (*(PULONG)ValueData + 1) * sizeof(DWORD))
ValueLength >= sizeof(ULONG) &&
ValueLength >= (*(PULONG)ValueData + 1) * sizeof(ULONG))
{
Group = (PSERVICE_GROUP)Context;
Group->TagCount = ((PULONG)ValueData)[0];
if (Group->TagCount > 0)
{
if (ValueLength >= (Group->TagCount + 1) * sizeof(DWORD))
if (ValueLength >= (Group->TagCount + 1) * sizeof(ULONG))
{
Group->TagArray = ExAllocatePool(NonPagedPool, Group->TagCount * sizeof(DWORD));
Group->TagArray = ExAllocatePool(NonPagedPool, Group->TagCount * sizeof(ULONG));
if (Group->TagArray == NULL)
{
Group->TagCount = 0;
return STATUS_INSUFFICIENT_RESOURCES;
}
memcpy(Group->TagArray, (PULONG)ValueData + 1, Group->TagCount * sizeof(DWORD));
memcpy(Group->TagArray, (PULONG)ValueData + 1, Group->TagCount * sizeof(ULONG));
}
else
{

View file

@ -50,7 +50,7 @@ IopQueueTargetDeviceEvent(const GUID *Guid,
PUNICODE_STRING DeviceIds)
{
PPNP_EVENT_ENTRY EventEntry;
DWORD TotalSize;
ULONG TotalSize;
TotalSize =
FIELD_OFFSET(PLUGPLAY_EVENT_BLOCK, TargetDevice.DeviceIds) +

View file

@ -2307,7 +2307,7 @@ IopInvalidateDeviceRelations(IN PDEVICE_NODE DeviceNode,
IO_STATUS_BLOCK IoStatusBlock;
PDEVICE_NODE ChildDeviceNode;
IO_STACK_LOCATION Stack;
BOOL BootDrivers;
BOOLEAN BootDrivers;
OBJECT_ATTRIBUTES ObjectAttributes;
UNICODE_STRING LinkName;
HANDLE Handle;

View file

@ -49,7 +49,7 @@ STDCALL
KdpBochsInit(PKD_DISPATCH_TABLE DispatchTable,
ULONG BootPhase)
{
BYTE Value;
UCHAR Value;
if (!KdpDebugMode.Bochs) return;
if (BootPhase == 0)

View file

@ -120,9 +120,9 @@ enum REGISTER_NAMES
typedef struct _CPU_REGISTER
{
DWORD Size;
DWORD OffsetInTF;
DWORD OffsetInContext;
ULONG Size;
ULONG OffsetInTF;
ULONG OffsetInContext;
BOOLEAN SetInContext;
} CPU_REGISTER, *PCPU_REGISTER;
@ -573,7 +573,7 @@ GspGetRegisters(PCHAR Address,
{
ULONG_PTR Value;
PULONG p;
DWORD i;
ULONG i;
PETHREAD Thread;
ULONG_PTR *KernelStack;
@ -670,7 +670,7 @@ GspSetRegistersInTrapFrame(PCHAR Address,
ULONG Value;
PCHAR Buffer;
PULONG p;
DWORD i;
ULONG i;
if (!TrapFrame)
{

View file

@ -147,6 +147,7 @@ KeQueryTimeIncrement(VOID)
/*
* @implemented
*/
#undef KeQueryTickCount
VOID
STDCALL
KeQueryTickCount(PLARGE_INTEGER TickCount)

View file

@ -81,7 +81,7 @@ KeSetGdtSelector(ULONG Entry,
KeReleaseSpinLock(&GdtLock, oldIrql);
}
BOOL PspIsDescriptorValid(PLDT_ENTRY ldt_entry)
BOOLEAN PspIsDescriptorValid(PLDT_ENTRY ldt_entry)
{
ULONG Base, SegLimit;
/*

View file

@ -117,7 +117,7 @@ KiIpiServiceRoutine(IN PKTRAP_FRAME TrapFrame,
VOID
STDCALL
KiIpiSendPacket(KAFFINITY TargetSet, VOID (STDCALL*WorkerRoutine)(PVOID), PVOID Argument, ULONG Count, BOOLEAN Synchronize)
KiIpiSendPacket(KAFFINITY TargetSet, PKIPI_BROADCAST_WORKER WorkerRoutine, ULONG_PTR Argument, ULONG Count, BOOLEAN Synchronize)
{
KAFFINITY Processor;
LONG i;
@ -155,9 +155,9 @@ KiIpiSendPacket(KAFFINITY TargetSet, VOID (STDCALL*WorkerRoutine)(PVOID), PVOID
}
}
VOID
ULONG_PTR
NTAPI
KeIpiGenericCall(VOID (STDCALL *Function)(PVOID), PVOID Argument)
KeIpiGenericCall(PKIPI_BROADCAST_WORKER Function, ULONG_PTR Argument)
{
KIRQL oldIrql;
KAFFINITY TargetSet;
@ -177,6 +177,7 @@ KeIpiGenericCall(VOID (STDCALL *Function)(PVOID), PVOID Argument)
KeLowerIrql(oldIrql);
DPRINT("KeIpiGenericCall on CPU%d done\n", KeGetCurrentProcessorNumber());
return 0; // FIXME
}

View file

@ -55,7 +55,7 @@ KeFindNextRightSetAffinity(IN UCHAR Number,
return (UCHAR)Result;
}
STATIC
static
VOID
KiRequestReschedule(CCHAR Processor)
{
@ -66,7 +66,7 @@ KiRequestReschedule(CCHAR Processor)
KiIpiSendRequest(1 << Processor, IPI_DPC);
}
STATIC
static
VOID
KiInsertIntoThreadList(KPRIORITY Priority,
PKTHREAD Thread)
@ -84,7 +84,7 @@ KiInsertIntoThreadList(KPRIORITY Priority,
PriorityListMask |= (1 << Priority);
}
STATIC
static
VOID
KiRemoveFromThreadList(PKTHREAD Thread)
{
@ -96,7 +96,7 @@ KiRemoveFromThreadList(PKTHREAD Thread)
}
}
STATIC
static
PKTHREAD
KiScanThreadList(KPRIORITY Priority,
KAFFINITY Affinity)

View file

@ -79,7 +79,7 @@ static PVOID
LdrPEGetExportByName (
PVOID BaseAddress,
PUCHAR SymbolName,
WORD Hint );
USHORT Hint );
static PVOID
LdrPEFixupForward ( PCHAR ForwardName );
@ -682,7 +682,7 @@ LdrPEProcessModule(
PLDR_DATA_TABLE_ENTRY *ModuleObject )
{
unsigned int DriverSize, Idx;
DWORD CurrentSize;
ULONG CurrentSize;
PVOID DriverBase;
PIMAGE_DOS_HEADER PEDosHeader;
PIMAGE_NT_HEADERS PENtHeaders;
@ -1279,11 +1279,11 @@ static PVOID
LdrPEGetExportByName (
PVOID BaseAddress,
PUCHAR SymbolName,
WORD Hint )
USHORT Hint )
{
PIMAGE_EXPORT_DIRECTORY ExportDir;
PDWORD * ExFunctions;
PDWORD * ExNames;
PULONG * ExFunctions;
PULONG * ExNames;
USHORT * ExOrdinals;
PVOID ExName;
ULONG Ordinal;
@ -1314,9 +1314,9 @@ LdrPEGetExportByName (
/*
* Get header pointers
*/
ExNames = (PDWORD *)RVA(BaseAddress, ExportDir->AddressOfNames);
ExNames = (PULONG *)RVA(BaseAddress, ExportDir->AddressOfNames);
ExOrdinals = (USHORT *)RVA(BaseAddress, ExportDir->AddressOfNameOrdinals);
ExFunctions = (PDWORD *)RVA(BaseAddress, ExportDir->AddressOfFunctions);
ExFunctions = (PULONG *)RVA(BaseAddress, ExportDir->AddressOfFunctions);
/*
* Check the hint first
@ -1399,7 +1399,7 @@ LdrPEGetExportByOrdinal (
{
PIMAGE_EXPORT_DIRECTORY ExportDir;
ULONG ExportDirSize;
PDWORD * ExFunctions;
PULONG * ExFunctions;
PVOID Function;
ExportDir = (PIMAGE_EXPORT_DIRECTORY)RtlImageDirectoryEntryToData (
@ -1408,7 +1408,7 @@ LdrPEGetExportByOrdinal (
IMAGE_DIRECTORY_ENTRY_EXPORT,
&ExportDirSize);
ExFunctions = (PDWORD *)RVA(BaseAddress,
ExFunctions = (PULONG *)RVA(BaseAddress,
ExportDir->AddressOfFunctions);
DPRINT("LdrPEGetExportByOrdinal(Ordinal %d) = %x\n",
Ordinal,

View file

@ -26,7 +26,7 @@
*
* RETURN VALUE
*/
STATIC NTSTATUS STDCALL
static NTSTATUS STDCALL
LpcpVerifyCreateParameters (IN PHANDLE PortHandle,
IN POBJECT_ATTRIBUTES ObjectAttributes,
IN ULONG MaxConnectInfoLength,

View file

@ -434,7 +434,7 @@ MmNotPresentFaultVirtualMemory(PMADDRESS_SPACE AddressSpace,
return(STATUS_SUCCESS);
}
VOID STATIC
VOID static
MmModifyAttributes(PMADDRESS_SPACE AddressSpace,
PVOID BaseAddress,
ULONG RegionSize,
@ -765,7 +765,7 @@ NtAllocateVirtualMemory(IN HANDLE ProcessHandle,
return(STATUS_SUCCESS);
}
VOID STATIC
VOID static
MmFreeVirtualMemoryPage(PVOID Context,
MEMORY_AREA* MemoryArea,
PVOID Address,

View file

@ -39,8 +39,7 @@ MmUnlockPagableImageSection(IN PVOID ImageSectionHandle)
VOID STDCALL
MmLockPagableSectionByHandle(IN PVOID ImageSectionHandle)
{
// MmLockMemoryArea((MEMORY_AREA *)ImageSectionHandle);
DPRINT1("MmLockPagableSectionByHandle is unimplemented\n");
UNIMPLEMENTED;
}
@ -75,15 +74,19 @@ MmLockPagableDataSection(IN PVOID AddressWithinSection)
*/
VOID STDCALL
MmUnlockPagableImageSection(IN PVOID ImageSectionHandle)
{}
{
UNIMPLEMENTED;
}
/*
* @unimplemented
*/
VOID STDCALL
PVOID STDCALL
MmPageEntireDriver(IN PVOID AddressWithinSection)
{}
{
UNIMPLEMENTED;
return NULL;
}
/*
@ -91,6 +94,8 @@ MmPageEntireDriver(IN PVOID AddressWithinSection)
*/
VOID STDCALL
MmResetDriverPaging(IN PVOID AddressWithinSection)
{}
{
UNIMPLEMENTED;
}
/* EOF */

View file

@ -172,12 +172,12 @@ static __inline ULONG64 ElfFmtpReadULong64
IN ULONG DataType
)
{
PBYTE p;
PUCHAR p;
if(DataType == ELF_TARG_DATA)
return Input;
p = (PBYTE)&Input;
p = (PUCHAR)&Input;
switch(DataType)
{
@ -195,12 +195,12 @@ static __inline ULONG ElfFmtpReadULong
IN ULONG DataType
)
{
PBYTE p;
PUCHAR p;
if(DataType == ELF_TARG_DATA)
return Input;
p = (PBYTE)&Input;
p = (PUCHAR)&Input;
switch(DataType)
{
@ -218,12 +218,12 @@ static __inline USHORT ElfFmtpReadUShort
IN ULONG DataType
)
{
PBYTE p;
PUCHAR p;
if(DataType == ELF_TARG_DATA)
return Input;
p = (PBYTE)&Input;
p = (PUCHAR)&Input;
switch(DataType)
{
@ -241,12 +241,12 @@ static __inline ULONG64 ElfFmtpSafeReadULong64
IN ULONG DataType
)
{
PBYTE p;
PUCHAR p;
ULONG64 nSafeInput;
RtlRetrieveUlonglong(&nSafeInput, Input);
p = (PBYTE)&nSafeInput;
p = (PUCHAR)&nSafeInput;
switch(DataType)
{
@ -264,7 +264,7 @@ static __inline ULONG ElfFmtpSafeReadULong
IN ULONG DataType
)
{
PBYTE p;
PUCHAR p;
ULONG nSafeInput;
union
{
@ -277,7 +277,7 @@ static __inline ULONG ElfFmtpSafeReadULong
if(DataType == ELF_TARG_DATA)
return nSafeInput;
p = (PBYTE)&nSafeInput;
p = (PUCHAR)&nSafeInput;
switch(DataType)
{

View file

@ -331,21 +331,21 @@ MmNotPresentFault(KPROCESSOR_MODE Mode,
/*
* @unimplemented
*/
DWORD STDCALL
MmAdjustWorkingSetSize (DWORD Unknown0,
DWORD Unknown1,
DWORD Unknown2)
ULONG STDCALL
MmAdjustWorkingSetSize (ULONG Unknown0,
ULONG Unknown1,
ULONG Unknown2)
{
UNIMPLEMENTED;
return (0);
}
DWORD
ULONG
STDCALL
MmDbgTranslatePhysicalAddress (
DWORD Unknown0,
DWORD Unknown1
ULONG Unknown0,
ULONG Unknown1
)
{
UNIMPLEMENTED;

View file

@ -467,7 +467,7 @@ MmInit3(VOID)
/* FIXME: Read parameters from memory */
}
VOID STATIC
VOID static
MiFreeInitMemoryPage(PVOID Context, MEMORY_AREA* MemoryArea, PVOID Address,
PFN_TYPE Page, SWAPENTRY SwapEntry,
BOOLEAN Dirty)

View file

@ -84,7 +84,7 @@ MmAllocateNonCachedMemory(IN ULONG NumberOfBytes)
return ((PVOID)Result);
}
VOID STATIC
VOID static
MmFreeNonCachedPage(PVOID Context, MEMORY_AREA* MemoryArea, PVOID Address,
PFN_TYPE Page, SWAPENTRY SwapEntry,
BOOLEAN Dirty)

View file

@ -95,7 +95,7 @@ typedef struct _HDR_FREE
#define HDR_FREE_SIZE ROUND_UP(sizeof(HDR_FREE), MM_POOL_ALIGNMENT)
#if defined(NPOOL_REDZONE_CHECK) || #defined(NPOOL_REDZONE_CHECK_FULL)
#if defined(NPOOL_REDZONE_CHECK) || defined(NPOOL_REDZONE_CHECK_FULL)
#define HDR_USED_SIZE ROUND_UP(sizeof(HDR_USED) + NPOOL_REDZONE_SIZE, MM_POOL_ALIGNMENT)
#else
#define HDR_USED_SIZE ROUND_UP(sizeof(HDR_USED), MM_POOL_ALIGNMENT)
@ -760,7 +760,7 @@ MiAddToTagHashTable(HDR_USED* block)
#endif /* TAG_STATISTICS_TRACKING */
#if defined(TAG_STATISTICS_TRACKING)
VOID STATIC
VOID static
MiDumpTagStats(ULONG CurrentTag, ULONG CurrentNrBlocks, ULONG CurrentSize)
{
CHAR c1, c2, c3, c4;
@ -1106,7 +1106,7 @@ static void validate_kernel_pool(void)
#endif
#if 0
STATIC VOID
static VOID
free_pages(HDR_FREE* blk)
{
ULONG start;
@ -1154,7 +1154,7 @@ add_to_free_list(HDR_FREE* blk)
*/
{
HDR_FREE* current;
BOOL UpdatePrevPtr = FALSE;
BOOLEAN UpdatePrevPtr = FALSE;
DPRINT("add_to_free_list (%d)\n", blk->hdr.Size);
@ -1469,10 +1469,10 @@ ExRosQueryNonPagedPoolTag ( PVOID Addr )
#if defined(NPOOL_REDZONE_CHECK) || defined(NPOOL_REDZONE_CHECK_FULL)
void check_redzone_header(HDR_USED* hdr)
{
PBYTE LoZone = (PBYTE)((ULONG_PTR)hdr + HDR_USED_SIZE - NPOOL_REDZONE_SIZE);
PBYTE HiZone = (PBYTE)((ULONG_PTR)hdr + HDR_USED_SIZE + hdr->UserSize);
BOOL LoOK = TRUE;
BOOL HiOK = TRUE;
PUCHAR LoZone = (PUCHAR)((ULONG_PTR)hdr + HDR_USED_SIZE - NPOOL_REDZONE_SIZE);
PUCHAR HiZone = (PUCHAR)((ULONG_PTR)hdr + HDR_USED_SIZE + hdr->UserSize);
BOOLEAN LoOK = TRUE;
BOOLEAN HiOK = TRUE;
ULONG i;
CHAR c[5];

View file

@ -149,7 +149,7 @@ MmShowOutOfSpaceMessagePagingFile(VOID)
}
}
LARGE_INTEGER STATIC
LARGE_INTEGER static
MmGetOffsetPageFile(PRETRIEVAL_POINTERS_BUFFER RetrievalPointers, LARGE_INTEGER Offset)
{
/* Simple binary search */
@ -498,7 +498,7 @@ MmAllocSwapPage(VOID)
return(0);
}
STATIC PRETRIEVEL_DESCRIPTOR_LIST FASTCALL
static PRETRIEVEL_DESCRIPTOR_LIST FASTCALL
MmAllocRetrievelDescriptorList(ULONG Pairs)
{
ULONG Size;
@ -551,7 +551,7 @@ MmDumpToPagingFile(ULONG BugCode,
if (!(TrapFrame->EFlags & (1 << 17)))
{
memcpy(&Headers->TrapFrame, TrapFrame,
sizeof(KTRAP_FRAME) - (4 * sizeof(DWORD)));
sizeof(KTRAP_FRAME) - (4 * sizeof(ULONG)));
}
else
{

View file

@ -22,7 +22,7 @@ extern MM_STATS MmStats;
/* FUNCTIONS ***************************************************************/
STATIC PVOID STDCALL
static PVOID STDCALL
EiAllocatePool(POOL_TYPE PoolType,
ULONG NumberOfBytes,
ULONG Tag,

View file

@ -11,13 +11,9 @@
/* INCLUDES *****************************************************************/
#ifdef PPOOL_UMODE_TEST
#include "ppool_umode.h"
#else//PPOOL_UMODE_TEST
#include <ntoskrnl.h>
#define NDEBUG
#include <internal/debug.h>
#endif//PPOOL_UMODE_TEST
#if defined (ALLOC_PRAGMA)
#pragma alloc_text(INIT, MmInitializePagedPool)
@ -138,7 +134,7 @@ int main()
char* trash[COUNT];
int AllocSize[] = { 15, 31, 63, 127, 255, 511, 1023, 2047 };
const int ALLOCS = sizeof(AllocSize) / sizeof(0[AllocSize]);
DWORD dwStart;
ULONG dwStart;
MmPagedPoolSize = 1*1024*1024;
MmPagedPoolBase = malloc ( MmPagedPoolSize );

View file

@ -16,7 +16,7 @@
/* FUNCTIONS *****************************************************************/
VOID STATIC
VOID static
InsertAfterEntry(PLIST_ENTRY Previous,
PLIST_ENTRY Entry)
/*
@ -31,7 +31,7 @@ InsertAfterEntry(PLIST_ENTRY Previous,
Previous->Flink = Entry;
}
PMM_REGION STATIC
PMM_REGION static
MmSplitRegion(PMM_REGION InitialRegion, PVOID InitialBaseAddress,
PVOID StartAddress, ULONG Length, ULONG NewType,
ULONG NewProtect, PMADDRESS_SPACE AddressSpace,

View file

@ -461,7 +461,7 @@ MmUnsharePageEntrySectionSegment(PROS_SECTION_OBJECT Section,
return(SHARE_COUNT_FROM_SSE(Entry) > 0);
}
BOOL MiIsPageFromCache(PMEMORY_AREA MemoryArea,
BOOLEAN MiIsPageFromCache(PMEMORY_AREA MemoryArea,
ULONG SegOffset)
{
if (!(MemoryArea->Data.SectionData.Segment->Characteristics & IMAGE_SCN_MEM_SHARED))
@ -669,7 +669,7 @@ MmNotPresentFaultSectionView(PMADDRESS_SPACE AddressSpace,
ULONG Attributes;
PMM_PAGEOP PageOp;
PMM_REGION Region;
BOOL HasSwapEntry;
BOOLEAN HasSwapEntry;
/*
* There is a window between taking the page fault and locking the
@ -1889,7 +1889,7 @@ MmWritePageSectionView(PMADDRESS_SPACE AddressSpace,
return(STATUS_SUCCESS);
}
VOID STATIC
VOID static
MmAlterViewAttributes(PMADDRESS_SPACE AddressSpace,
PVOID BaseAddress,
ULONG RegionSize,
@ -1900,7 +1900,7 @@ MmAlterViewAttributes(PMADDRESS_SPACE AddressSpace,
{
PMEMORY_AREA MemoryArea;
PMM_SECTION_SEGMENT Segment;
BOOL DoCOW = FALSE;
BOOLEAN DoCOW = FALSE;
ULONG i;
MemoryArea = MmLocateMemoryAreaByAddress(AddressSpace, BaseAddress);
@ -2011,7 +2011,7 @@ MmQuerySectionView(PMEMORY_AREA MemoryArea,
if (Section->AllocationAttributes & SEC_IMAGE)
{
Segment = MemoryArea->Data.SectionData.Segment;
Info->AllocationBase = (PBYTE)MemoryArea->StartingAddress - Segment->VirtualAddress;
Info->AllocationBase = (PUCHAR)MemoryArea->StartingAddress - Segment->VirtualAddress;
Info->Type = MEM_IMAGE;
}
else
@ -3500,7 +3500,7 @@ NtOpenSection(PHANDLE SectionHandle,
return(Status);
}
NTSTATUS STATIC
NTSTATUS static
MmMapViewOfSegment(PMADDRESS_SPACE AddressSpace,
PROS_SECTION_OBJECT Section,
PMM_SECTION_SEGMENT Segment,
@ -3748,7 +3748,7 @@ NtMapViewOfSection(IN HANDLE SectionHandle,
return(Status);
}
VOID STATIC
VOID static
MmFreeSectionPage(PVOID Context, MEMORY_AREA* MemoryArea, PVOID Address,
PFN_TYPE Page, SWAPENTRY SwapEntry, BOOLEAN Dirty)
{
@ -3855,7 +3855,7 @@ MmFreeSectionPage(PVOID Context, MEMORY_AREA* MemoryArea, PVOID Address,
}
}
STATIC NTSTATUS
static NTSTATUS
MmUnmapViewOfSegment(PMADDRESS_SPACE AddressSpace,
PVOID BaseAddress)
{
@ -4623,7 +4623,7 @@ MmCanFileBeTruncated (IN PSECTION_OBJECT_POINTERS SectionObjectPointer,
* @unimplemented
*/
BOOLEAN STDCALL
MmDisableModifiedWriteOfSection (DWORD Unknown0)
MmDisableModifiedWriteOfSection (ULONG Unknown0)
{
UNIMPLEMENTED;
return (FALSE);
@ -4763,12 +4763,12 @@ MmUnmapViewInSessionSpace (
* @unimplemented
*/
NTSTATUS STDCALL
MmSetBankedSection (DWORD Unknown0,
DWORD Unknown1,
DWORD Unknown2,
DWORD Unknown3,
DWORD Unknown4,
DWORD Unknown5)
MmSetBankedSection (ULONG Unknown0,
ULONG Unknown1,
ULONG Unknown2,
ULONG Unknown3,
ULONG Unknown4,
ULONG Unknown5)
{
UNIMPLEMENTED;
return (STATUS_NOT_IMPLEMENTED);

View file

@ -104,7 +104,7 @@ NtLockVirtualMemory(HANDLE ProcessHandle,
NumberOfBytesLocked,
ObReferenceObjectByHandle,
MmCreateMdl,
ObfDereferenceObject,
(PVOID)ObfDereferenceObject,
MmProbeAndLockPages,
ExFreePool);
}

View file

@ -7,6 +7,7 @@
<define name="_NTOSKRNL_" />
<define name="__NO_CTYPE_INLINES" />
<define name="__USE_W32API" />
<define name="WIN9X_COMPAT_SPINLOCK" />
<include base="kjs">include</include>
<include base="cmlib">.</include>
<include base="ntoskrnl">include</include>

View file

@ -232,7 +232,7 @@ ObpCaptureObjectName(IN OUT PUNICODE_STRING CapturedName,
NTSTATUS Status = STATUS_SUCCESS;
ULONG StringLength, MaximumLength;
PWCHAR StringBuffer = NULL;
UNICODE_STRING LocalName = {}; /* <= GCC 4.0 + Optimizer */
UNICODE_STRING LocalName = {0}; /* <= GCC 4.0 + Optimizer */
PAGED_CODE();
/* Initialize the Input String */

View file

@ -267,21 +267,22 @@ ObFastReplaceObject(IN PEX_FAST_REF FastRef,
/* PUBLIC FUNCTIONS *********************************************************/
VOID
LONG_PTR
FASTCALL
ObfReferenceObject(IN PVOID Object)
{
ASSERT(Object);
/* Get the header and increment the reference count */
InterlockedIncrement(&OBJECT_TO_OBJECT_HEADER(Object)->PointerCount);
return InterlockedIncrement(&OBJECT_TO_OBJECT_HEADER(Object)->PointerCount);
}
VOID
LONG_PTR
FASTCALL
ObfDereferenceObject(IN PVOID Object)
{
POBJECT_HEADER Header;
LONG_PTR OldCount;
/* Extract the object header */
Header = OBJECT_TO_OBJECT_HEADER(Object);
@ -289,17 +290,18 @@ ObfDereferenceObject(IN PVOID Object)
if (Header->PointerCount < Header->HandleCount)
{
DPRINT("Misbehaving object: %wZ\n", &Header->Type->Name);
return;
return Header->PointerCount;
}
/* Check whether the object can now be deleted. */
if (!(InterlockedDecrement(&Header->PointerCount)))
OldCount = InterlockedDecrement(&Header->PointerCount);
if (!OldCount)
{
/* Sanity check */
if (Header->HandleCount)
{
DPRINT("Misbehaving object: %wZ\n", &Header->Type->Name);
return;
return Header->PointerCount;
}
/* Check if we're at PASSIVE */
@ -314,6 +316,9 @@ ObfDereferenceObject(IN PVOID Object)
ObpDeferObjectDeletion(Object);
}
}
/* Return the old count */
return OldCount;
}
VOID

View file

@ -356,7 +356,7 @@ PspCreateProcess(OUT PHANDLE ProcessHandle,
IN ACCESS_MASK DesiredAccess,
IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
IN HANDLE ParentProcess OPTIONAL,
IN DWORD Flags,
IN ULONG Flags,
IN HANDLE SectionHandle OPTIONAL,
IN HANDLE DebugPort OPTIONAL,
IN HANDLE ExceptionPort OPTIONAL,

View file

@ -42,7 +42,7 @@ RtlpGetMode()
PVOID
STDCALL
RtlpAllocateMemory(UINT Bytes,
RtlpAllocateMemory(ULONG Bytes,
ULONG Tag)
{
return ExAllocatePoolWithTag(PagedPool,
@ -399,7 +399,7 @@ IMAGE_RESOURCE_DIRECTORY *find_entry_by_name( IMAGE_RESOURCE_DIRECTORY *dir,
LPCWSTR name, void *root,
int want_dir );
IMAGE_RESOURCE_DIRECTORY *find_entry_by_id( IMAGE_RESOURCE_DIRECTORY *dir,
WORD id, void *root, int want_dir );
USHORT id, void *root, int want_dir );
IMAGE_RESOURCE_DIRECTORY *find_first_entry( IMAGE_RESOURCE_DIRECTORY *dir,
void *root, int want_dir );

View file

@ -16,7 +16,7 @@
/* FUNCTIONS *****************************************************************/
char* strtok(char *s, const char *delim)
char* __cdecl strtok(char *s, const char *delim)
{
const char *spanp;
int c, sc;

View file

@ -17,13 +17,13 @@
* @unimplemented
*/
NTSTATUS STDCALL LsaCallAuthenticationPackage (
DWORD Unknown0,
DWORD Unknown1,
DWORD Unknown2,
DWORD Unknown3,
DWORD Unknown4,
DWORD Unknown5,
DWORD Unknown6
ULONG Unknown0,
ULONG Unknown1,
ULONG Unknown2,
ULONG Unknown3,
ULONG Unknown4,
ULONG Unknown5,
ULONG Unknown6
)
{
return STATUS_NOT_IMPLEMENTED;
@ -34,8 +34,8 @@ NTSTATUS STDCALL LsaCallAuthenticationPackage (
* @unimplemented
*/
NTSTATUS STDCALL LsaDeregisterLogonProcess (
DWORD Unknown0,
DWORD Unknown1
ULONG Unknown0,
ULONG Unknown1
)
{
return STATUS_NOT_IMPLEMENTED;
@ -62,20 +62,20 @@ NTSTATUS STDCALL LsaFreeReturnBuffer (PVOID Buffer)
* @unimplemented
*/
NTSTATUS STDCALL LsaLogonUser (
DWORD Unknown0,
DWORD Unknown1,
DWORD Unknown2,
DWORD Unknown3,
DWORD Unknown4,
DWORD Unknown5,
DWORD Unknown6,
DWORD Unknown7,
DWORD Unknown8,
DWORD Unknown9,
DWORD Unknown10,
DWORD Unknown11,
DWORD Unknown12,
DWORD Unknown13
ULONG Unknown0,
ULONG Unknown1,
ULONG Unknown2,
ULONG Unknown3,
ULONG Unknown4,
ULONG Unknown5,
ULONG Unknown6,
ULONG Unknown7,
ULONG Unknown8,
ULONG Unknown9,
ULONG Unknown10,
ULONG Unknown11,
ULONG Unknown12,
ULONG Unknown13
)
{
return STATUS_NOT_IMPLEMENTED;
@ -86,9 +86,9 @@ NTSTATUS STDCALL LsaLogonUser (
* @unimplemented
*/
NTSTATUS STDCALL LsaLookupAuthenticationPackage (
DWORD Unknown0,
DWORD Unknown1,
DWORD Unknown2
ULONG Unknown0,
ULONG Unknown1,
ULONG Unknown2
)
{
return STATUS_NOT_IMPLEMENTED;
@ -99,9 +99,9 @@ NTSTATUS STDCALL LsaLookupAuthenticationPackage (
* @unimplemented
*/
NTSTATUS STDCALL LsaRegisterLogonProcess (
DWORD Unknown0,
DWORD Unknown1,
DWORD Unknown2
ULONG Unknown0,
ULONG Unknown1,
ULONG Unknown2
)
{
return STATUS_NOT_IMPLEMENTED;

View file

@ -168,7 +168,7 @@ SeSetWorldSecurityDescriptor(SECURITY_INFORMATION SecurityInformation,
RtlCopyMemory((PVOID)Current,
SeWorldSid,
SidSize);
SdRel->Owner = (DWORD)((ULONG_PTR)Current - (ULONG_PTR)SdRel);
SdRel->Owner = (ULONG)((ULONG_PTR)Current - (ULONG_PTR)SdRel);
Current += SidSize;
}
@ -177,7 +177,7 @@ SeSetWorldSecurityDescriptor(SECURITY_INFORMATION SecurityInformation,
RtlCopyMemory((PVOID)Current,
SeWorldSid,
SidSize);
SdRel->Group = (DWORD)((ULONG_PTR)Current - (ULONG_PTR)SdRel);
SdRel->Group = (ULONG)((ULONG_PTR)Current - (ULONG_PTR)SdRel);
Current += SidSize;
}
@ -199,7 +199,7 @@ SeSetWorldSecurityDescriptor(SECURITY_INFORMATION SecurityInformation,
if (!NT_SUCCESS(Status))
return Status;
SdRel->Dacl = (DWORD)((ULONG_PTR)Current - (ULONG_PTR)SdRel);
SdRel->Dacl = (ULONG)((ULONG_PTR)Current - (ULONG_PTR)SdRel);
}
if (SecurityInformation & SACL_SECURITY_INFORMATION)

View file

@ -2135,9 +2135,9 @@ NtCreateToken(OUT PHANDLE TokenHandle,
PVOID EndMem;
ULONG uLength;
ULONG i;
ULONG nTokenPrivileges = 0;
LARGE_INTEGER LocalExpirationTime = {};
KPROCESSOR_MODE PreviousMode;
ULONG nTokenPrivileges = 0;
LARGE_INTEGER LocalExpirationTime = {{0}};
NTSTATUS Status = STATUS_SUCCESS;
PAGED_CODE();

View file

@ -22,8 +22,8 @@ NTSTATUS
NTAPI
VdmpGetVdmTib(OUT PVDM_TIB *VdmTib)
{
PAGED_CODE();
PVDM_TIB Tib;
PAGED_CODE();
/* Assume vailure */
*VdmTib = NULL;

View file

@ -56,7 +56,7 @@ KeI386VdmInitialize(VOID)
/* Make sure that there is a WOW key */
RtlInitUnicodeString(&Name,
L"\\Registry\\Machine\\System\\CurrentControlSet\\"
"Control\\Wow");
L"Control\\Wow");
InitializeObjectAttributes(&ObjectAttributes,
&Name,
OBJ_CASE_INSENSITIVE,