mirror of
https://github.com/reactos/reactos.git
synced 2025-06-08 02:40:32 +00:00
ntapi.h:
- Define LANGID and fix definition of PLANGID. - Define PVM_COUNTERS, SYSTEM_CACHE_INFORMATION and SYSTEM_INTERRUPT_INFORMATION. - Match the ROS version of LPC_MESSAGE (the structure itself should be named PORT_MESSAGE and belongs to ntifs.h). - Move KEY_SET_INFORMATION_CLASS definiton to winddk.h. - Make the first parameter of NtAllocateUuids PULARGE_INTEGER. - Declare NtSetUuidSeed. - Fix definition of ATOM_INFORMATION_CLASS and ATOM_BASIC_INFORMATION to match ReactOS versions. winddk.h: - Define NTHALAPI and use it to mark HAL exports instead of NTOSAPI. - Define PADAPTER_OBJECT, EVENT_QUERY_STATE, EVENT_MODIFY_STATE, EVENT_ALL_ACCESS, SEMAPHORE_QUERY_STATE, SEMAPHORE_MODIFY_STATE, SEMAPHORE_ALL_ACCESS, IRP_QUOTA_CHARGED, IRP_ALLOCATED_MUST_SUCCEED, IRP_ALLOCATED_FIXED_SIZE, IRP_LOOKASIDE_ALLOCATION, HalDispatchTableVersion, HalQuerySystemInformation, HalSetSystemInformation, HalQueryBusSlots, HalDeviceControl, HalIoAssignDriveLetters, HalIoReadPartitionTable, HalIoSetPartitionInformation, HalIoWritePartitionTable, HalReferenceHandlerForBus, HalReferenceBusHandler, HalDereferenceBusHandler, IO_TYPE_ADAPTER, IO_TYPE_CONTROLLER, IO_TYPE_DEVICE, IO_TYPE_DRIVER, IO_TYPE_FILE, IO_TYPE_IRP, IO_TYPE_MASTER_ADAPTER, IO_TYPE_OPEN_PACKET, IO_TYPE_TIMER, IO_TYPE_VPB, IO_TYPE_ERROR_LOG, IO_TYPE_ERROR_MESSAGE, IO_TYPE_DEVICE_OBJECT_EXTENSION, IO_FORCE_ACCESS_CHECK and IO_NO_PARAMETER_CHECKING. - Remove declaration of HalPrivateDispatchTable, it doesn't belong to public headers. - Fix declaration of WAIT_CONTEXT_BLOCK, HalDispatchTable, DRIVER_EXTENSION, GENERAL_LOOKASIDE, NPAGED_LOOKASIDE_LIST, PAGED_LOOKASIDE_LIST, KPCR_TIB, MmHighestUserAddress, MmSystemRangeStart, MmUserProbeAddress, KdDebuggerNotPresent and KdDebuggerEnabled. - Declare KEY_WRITE_TIME_INFORMATION, KEY_USER_FLAGS_INFORMATION, KEY_SET_INFORMATION_CLASS, KfAcquireSpinLock, KfReleaseSpinLock and ExfInterlockedCompareExchange64. winnt4.h: - Declare HalAcquireDisplayOwnership and HalAllocateAdapterChannel. ntifs.h: - Fix definition of NTKERNELAPI. - Fix declaration of FsRtlLegalAnsiCharacterArray, FsRtlNotifyInitializeSync, FsRtlNotifyUninitializeSync, IoCheckFunctionAccess and PsGetProcessExitTime. - Declare IoStatisticsLock, IoReadOperationCount, IoWriteOperationCount, IoOtherOperationCount, IoReadTransferCount, IoWriteTransferCount, IoOtherTransferCount, FSRTL_ADVANCED_FCB_HEADER, FSRTL_PER_STREAM_CONTEXT, PFILTER_REPORT_CHANGE, FS_FILTER_SECTION_SYNC_TYPE, FS_FILTER_PARAMETERS, FS_FILTER_CALLBACK_DATA, PFS_FILTER_CALLBACK, PFS_FILTER_COMPLETION_CALLBACK, FS_FILTER_CALLBACKS, READ_LIST, ExInitializeRundownProtection, ExReInitializeRundownProtection, ExAcquireRundownProtection, ExAcquireRundownProtectionEx, ExReleaseRundownProtection, ExReleaseRundownProtectionEx, ExRundownCompleted, ExWaitForRundownProtectionRelease, FsRtlMdlReadDev, FsRtlPrepareMdlWriteDev, PFSRTL_STACK_OVERFLOW_ROUTINE, FsRtlPostStackOverflow, FsRtlPostPagingFileStackOverflow, IoAttachDeviceToDeviceStackSafe, IoQueueThreadIrp, KeInitializeMutant, KeReadStateMutant, KeReleaseMutant and PsIsSystemThread. - Define FSRTL_FAT_LEGAL, FSRTL_HPFS_LEGAL, FSRTL_NTFS_LEGAL, FSRTL_WILD_CHARACTER, FSRTL_OLE_LEGAL, FSRTL_NTFS_STREAM_LEGAL, EX_RUNDOWN_ACTIVE, EX_RUNDOWN_COUNT_SHIFT, EX_RUNDOWN_COUNT_INC, FsRtlIsLeadDbcsCharacter and FsRtlIsAnsiCharacterWild. - Remove declaration of SYSTEM_CACHE_INFORMATION and SeCreateAccessState, they don't belong to public headers. svn path=/trunk/; revision=16028
This commit is contained in:
parent
69b04c6fd2
commit
186c8b72d1
4 changed files with 590 additions and 163 deletions
|
@ -46,7 +46,8 @@ typedef struct _PEB *PPEB;
|
||||||
/* FIXME: Unknown definitions */
|
/* FIXME: Unknown definitions */
|
||||||
typedef PVOID POBJECT_TYPE_LIST;
|
typedef PVOID POBJECT_TYPE_LIST;
|
||||||
typedef PVOID PEXECUTION_STATE;
|
typedef PVOID PEXECUTION_STATE;
|
||||||
typedef PVOID PLANGID;
|
|
||||||
|
typedef unsigned short LANGID, *PLANGID;
|
||||||
|
|
||||||
#ifndef NtCurrentProcess
|
#ifndef NtCurrentProcess
|
||||||
#define NtCurrentProcess() ( (HANDLE) 0xFFFFFFFF )
|
#define NtCurrentProcess() ( (HANDLE) 0xFFFFFFFF )
|
||||||
|
@ -261,7 +262,7 @@ typedef struct _VM_COUNTERS {
|
||||||
ULONG QuotaNonPagedPoolUsage;
|
ULONG QuotaNonPagedPoolUsage;
|
||||||
ULONG PagefileUsage;
|
ULONG PagefileUsage;
|
||||||
ULONG PeakPagefileUsage;
|
ULONG PeakPagefileUsage;
|
||||||
} VM_COUNTERS;
|
} VM_COUNTERS, *PVM_COUNTERS;
|
||||||
|
|
||||||
typedef enum _THREAD_STATE {
|
typedef enum _THREAD_STATE {
|
||||||
Initialized,
|
Initialized,
|
||||||
|
@ -463,6 +464,15 @@ typedef struct _SYSTEM_INSTRUCTION_EMULATION_INFORMATION {
|
||||||
ULONG GenericInvalidOpcode;
|
ULONG GenericInvalidOpcode;
|
||||||
} SYSTEM_INSTRUCTION_EMULATION_INFORMATION, *PSYSTEM_INSTRUCTION_EMULATION_INFORMATION;
|
} SYSTEM_INSTRUCTION_EMULATION_INFORMATION, *PSYSTEM_INSTRUCTION_EMULATION_INFORMATION;
|
||||||
|
|
||||||
|
typedef struct _SYSTEM_CACHE_INFORMATION {
|
||||||
|
ULONG CurrentSize;
|
||||||
|
ULONG PeakSize;
|
||||||
|
ULONG PageFaultCount;
|
||||||
|
ULONG MinimumWorkingSet;
|
||||||
|
ULONG MaximumWorkingSet;
|
||||||
|
ULONG Unused[4];
|
||||||
|
} SYSTEM_CACHE_INFORMATION, *PSYSTEM_CACHE_INFORMATION;
|
||||||
|
|
||||||
typedef struct _SYSTEM_POOL_TAG_INFORMATION {
|
typedef struct _SYSTEM_POOL_TAG_INFORMATION {
|
||||||
CHAR Tag[4];
|
CHAR Tag[4];
|
||||||
ULONG PagedPoolAllocs;
|
ULONG PagedPoolAllocs;
|
||||||
|
@ -473,6 +483,15 @@ typedef struct _SYSTEM_POOL_TAG_INFORMATION {
|
||||||
ULONG NonPagedPoolUsage;
|
ULONG NonPagedPoolUsage;
|
||||||
} SYSTEM_POOL_TAG_INFORMATION, *PSYSTEM_POOL_TAG_INFORMATION;
|
} SYSTEM_POOL_TAG_INFORMATION, *PSYSTEM_POOL_TAG_INFORMATION;
|
||||||
|
|
||||||
|
typedef struct _SYSTEM_INTERRUPT_INFORMATION {
|
||||||
|
ULONG ContextSwitches;
|
||||||
|
ULONG DpcCount;
|
||||||
|
ULONG DpcRate;
|
||||||
|
ULONG TimeIncrement;
|
||||||
|
ULONG DpcBypassCount;
|
||||||
|
ULONG ApcBypassCount;
|
||||||
|
} SYSTEM_INTERRUPT_INFORMATION, *PSYSTEM_INTERRUPT_INFORMATION;
|
||||||
|
|
||||||
typedef struct _SYSTEM_PROCESSOR_STATISTICS {
|
typedef struct _SYSTEM_PROCESSOR_STATISTICS {
|
||||||
ULONG ContextSwitches;
|
ULONG ContextSwitches;
|
||||||
ULONG DpcCount;
|
ULONG DpcCount;
|
||||||
|
@ -1991,7 +2010,6 @@ typedef struct _LPC_MESSAGE {
|
||||||
CLIENT_ID ClientId;
|
CLIENT_ID ClientId;
|
||||||
ULONG MessageId;
|
ULONG MessageId;
|
||||||
ULONG SectionSize;
|
ULONG SectionSize;
|
||||||
UCHAR Data[ANYSIZE_ARRAY];
|
|
||||||
} LPC_MESSAGE, *PLPC_MESSAGE;
|
} LPC_MESSAGE, *PLPC_MESSAGE;
|
||||||
|
|
||||||
#define LPC_MESSAGE_BASE_SIZE 24
|
#define LPC_MESSAGE_BASE_SIZE 24
|
||||||
|
@ -2332,10 +2350,6 @@ ZwReplaceKey(
|
||||||
IN HANDLE KeyHandle,
|
IN HANDLE KeyHandle,
|
||||||
IN POBJECT_ATTRIBUTES OldFileObjectAttributes);
|
IN POBJECT_ATTRIBUTES OldFileObjectAttributes);
|
||||||
|
|
||||||
typedef enum _KEY_SET_INFORMATION_CLASS {
|
|
||||||
KeyLastWriteTimeInformation
|
|
||||||
} KEY_SET_INFORMATION_CLASS;
|
|
||||||
|
|
||||||
NTOSAPI
|
NTOSAPI
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
|
@ -2802,11 +2816,17 @@ NTOSAPI
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
NtAllocateUuids(
|
NtAllocateUuids(
|
||||||
OUT PLARGE_INTEGER UuidLastTimeAllocated,
|
OUT PULARGE_INTEGER UuidLastTimeAllocated,
|
||||||
OUT PULONG UuidDeltaTime,
|
OUT PULONG UuidDeltaTime,
|
||||||
OUT PULONG UuidSequenceNumber,
|
OUT PULONG UuidSequenceNumber,
|
||||||
OUT PUCHAR UuidSeed);
|
OUT PUCHAR UuidSeed);
|
||||||
|
|
||||||
|
NTOSAPI
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
NtSetUuidSeed(
|
||||||
|
IN PUCHAR UuidSeed);
|
||||||
|
|
||||||
NTOSAPI
|
NTOSAPI
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
|
@ -2893,7 +2913,7 @@ NtDeleteAtom(
|
||||||
|
|
||||||
typedef enum _ATOM_INFORMATION_CLASS {
|
typedef enum _ATOM_INFORMATION_CLASS {
|
||||||
AtomBasicInformation,
|
AtomBasicInformation,
|
||||||
AtomListInformation
|
AtomTableInformation
|
||||||
} ATOM_INFORMATION_CLASS;
|
} ATOM_INFORMATION_CLASS;
|
||||||
|
|
||||||
NTOSAPI
|
NTOSAPI
|
||||||
|
@ -2907,8 +2927,8 @@ NtQueryInformationAtom(
|
||||||
OUT PULONG ReturnLength OPTIONAL);
|
OUT PULONG ReturnLength OPTIONAL);
|
||||||
|
|
||||||
typedef struct _ATOM_BASIC_INFORMATION {
|
typedef struct _ATOM_BASIC_INFORMATION {
|
||||||
USHORT ReferenceCount;
|
USHORT UsageCount;
|
||||||
USHORT Pinned;
|
USHORT Flags;
|
||||||
USHORT NameLength;
|
USHORT NameLength;
|
||||||
WCHAR Name[1];
|
WCHAR Name[1];
|
||||||
} ATOM_BASIC_INFORMATION, *PATOM_BASIC_INFORMATION;
|
} ATOM_BASIC_INFORMATION, *PATOM_BASIC_INFORMATION;
|
||||||
|
|
|
@ -44,16 +44,28 @@ extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef NTKERNELAPI
|
#ifndef NTKERNELAPI
|
||||||
#define NTKERNELAPI STDCALL
|
#define NTKERNELAPI DECLSPEC_IMPORT
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
typedef struct _SE_EXPORTS *PSE_EXPORTS;
|
typedef struct _SE_EXPORTS *PSE_EXPORTS;
|
||||||
|
|
||||||
extern PUCHAR *FsRtlLegalAnsiCharacterArray;
|
#ifdef _NTOSKRNL_
|
||||||
|
extern PUCHAR FsRtlLegalAnsiCharacterArray;
|
||||||
|
#else
|
||||||
|
extern DECLSPEC_IMPORT PUCHAR FsRtlLegalAnsiCharacterArray;
|
||||||
|
#endif
|
||||||
extern PSE_EXPORTS SeExports;
|
extern PSE_EXPORTS SeExports;
|
||||||
extern PACL SePublicDefaultDacl;
|
extern PACL SePublicDefaultDacl;
|
||||||
extern PACL SeSystemDefaultDacl;
|
extern PACL SeSystemDefaultDacl;
|
||||||
|
|
||||||
|
extern KSPIN_LOCK IoStatisticsLock;
|
||||||
|
extern ULONG IoReadOperationCount;
|
||||||
|
extern ULONG IoWriteOperationCount;
|
||||||
|
extern ULONG IoOtherOperationCount;
|
||||||
|
extern LARGE_INTEGER IoReadTransferCount;
|
||||||
|
extern LARGE_INTEGER IoWriteTransferCount;
|
||||||
|
extern LARGE_INTEGER IoOtherTransferCount;
|
||||||
|
|
||||||
#define ANSI_DOS_STAR ('<')
|
#define ANSI_DOS_STAR ('<')
|
||||||
#define ANSI_DOS_QM ('>')
|
#define ANSI_DOS_QM ('>')
|
||||||
#define ANSI_DOS_DOT ('"')
|
#define ANSI_DOS_DOT ('"')
|
||||||
|
@ -241,6 +253,13 @@ extern PACL SeSystemDefaultDacl;
|
||||||
|
|
||||||
#define FSRTL_WILD_CHARACTER 0x08
|
#define FSRTL_WILD_CHARACTER 0x08
|
||||||
|
|
||||||
|
#define FSRTL_FAT_LEGAL 0x01
|
||||||
|
#define FSRTL_HPFS_LEGAL 0x02
|
||||||
|
#define FSRTL_NTFS_LEGAL 0x04
|
||||||
|
#define FSRTL_WILD_CHARACTER 0x08
|
||||||
|
#define FSRTL_OLE_LEGAL 0x10
|
||||||
|
#define FSRTL_NTFS_STREAM_LEGAL 0x14
|
||||||
|
|
||||||
#ifdef _X86_
|
#ifdef _X86_
|
||||||
#define HARDWARE_PTE HARDWARE_PTE_X86
|
#define HARDWARE_PTE HARDWARE_PTE_X86
|
||||||
#define PHARDWARE_PTE PHARDWARE_PTE_X86
|
#define PHARDWARE_PTE PHARDWARE_PTE_X86
|
||||||
|
@ -502,7 +521,6 @@ extern PACL SeSystemDefaultDacl;
|
||||||
|
|
||||||
#define IOCTL_REDIR_QUERY_PATH CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 99, METHOD_NEITHER, FILE_ANY_ACCESS)
|
#define IOCTL_REDIR_QUERY_PATH CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 99, METHOD_NEITHER, FILE_ANY_ACCESS)
|
||||||
|
|
||||||
typedef PVOID PEJOB;
|
|
||||||
typedef PVOID OPLOCK, *POPLOCK;
|
typedef PVOID OPLOCK, *POPLOCK;
|
||||||
|
|
||||||
typedef struct _CACHE_MANAGER_CALLBACKS *PCACHE_MANAGER_CALLBACKS;
|
typedef struct _CACHE_MANAGER_CALLBACKS *PCACHE_MANAGER_CALLBACKS;
|
||||||
|
@ -718,6 +736,10 @@ typedef struct _EX_PUSH_LOCK {
|
||||||
} DUMMYUNIONNAME;
|
} DUMMYUNIONNAME;
|
||||||
} EX_PUSH_LOCK, *PEX_PUSH_LOCK;
|
} EX_PUSH_LOCK, *PEX_PUSH_LOCK;
|
||||||
|
|
||||||
|
#define EX_RUNDOWN_ACTIVE 0x1
|
||||||
|
#define EX_RUNDOWN_COUNT_SHIFT 0x1
|
||||||
|
#define EX_RUNDOWN_COUNT_INC (1 << EX_RUNDOWN_COUNT_SHIFT)
|
||||||
|
|
||||||
typedef struct _EX_RUNDOWN_REF {
|
typedef struct _EX_RUNDOWN_REF {
|
||||||
_ANONYMOUS_UNION union {
|
_ANONYMOUS_UNION union {
|
||||||
ULONG Count;
|
ULONG Count;
|
||||||
|
@ -1197,6 +1219,33 @@ typedef struct _FSRTL_COMMON_FCB_HEADER {
|
||||||
LARGE_INTEGER ValidDataLength;
|
LARGE_INTEGER ValidDataLength;
|
||||||
} FSRTL_COMMON_FCB_HEADER, *PFSRTL_COMMON_FCB_HEADER;
|
} FSRTL_COMMON_FCB_HEADER, *PFSRTL_COMMON_FCB_HEADER;
|
||||||
|
|
||||||
|
#if (VER_PRODUCTBUILD >= 2600)
|
||||||
|
|
||||||
|
typedef struct _FSRTL_ADVANCED_FCB_HEADER {
|
||||||
|
CSHORT NodeTypeCode;
|
||||||
|
CSHORT NodeByteSize;
|
||||||
|
UCHAR Flags;
|
||||||
|
UCHAR IsFastIoPossible;
|
||||||
|
UCHAR Flags2;
|
||||||
|
UCHAR Reserved;
|
||||||
|
PERESOURCE Resource;
|
||||||
|
PERESOURCE PagingIoResource;
|
||||||
|
LARGE_INTEGER AllocationSize;
|
||||||
|
LARGE_INTEGER FileSize;
|
||||||
|
LARGE_INTEGER ValidDataLength;
|
||||||
|
PFAST_MUTEX FastMutex;
|
||||||
|
LIST_ENTRY FilterContexts;
|
||||||
|
} FSRTL_ADVANCED_FCB_HEADER, *PFSRTL_ADVANCED_FCB_HEADER;
|
||||||
|
|
||||||
|
typedef struct _FSRTL_PER_STREAM_CONTEXT {
|
||||||
|
LIST_ENTRY Links;
|
||||||
|
PVOID OwnerId;
|
||||||
|
PVOID InstanceId;
|
||||||
|
PFREE_FUNCTION FreeCallback;
|
||||||
|
} FSRTL_PER_STREAM_CONTEXT, *PFSRTL_PER_STREAM_CONTEXT;
|
||||||
|
|
||||||
|
#endif /* (VER_PRODUCTBUILD >= 2600) */
|
||||||
|
|
||||||
typedef struct _GENERATE_NAME_CONTEXT {
|
typedef struct _GENERATE_NAME_CONTEXT {
|
||||||
USHORT Checksum;
|
USHORT Checksum;
|
||||||
BOOLEAN CheckSumInserted;
|
BOOLEAN CheckSumInserted;
|
||||||
|
@ -1549,15 +1598,6 @@ typedef struct _STARTING_VCN_INPUT_BUFFER {
|
||||||
LARGE_INTEGER StartingVcn;
|
LARGE_INTEGER StartingVcn;
|
||||||
} STARTING_VCN_INPUT_BUFFER, *PSTARTING_VCN_INPUT_BUFFER;
|
} STARTING_VCN_INPUT_BUFFER, *PSTARTING_VCN_INPUT_BUFFER;
|
||||||
|
|
||||||
typedef struct _SYSTEM_CACHE_INFORMATION {
|
|
||||||
ULONG CurrentSize;
|
|
||||||
ULONG PeakSize;
|
|
||||||
ULONG PageFaultCount;
|
|
||||||
ULONG MinimumWorkingSet;
|
|
||||||
ULONG MaximumWorkingSet;
|
|
||||||
ULONG Unused[4];
|
|
||||||
} SYSTEM_CACHE_INFORMATION, *PSYSTEM_CACHE_INFORMATION;
|
|
||||||
|
|
||||||
typedef struct _SECURITY_CLIENT_CONTEXT {
|
typedef struct _SECURITY_CLIENT_CONTEXT {
|
||||||
SECURITY_QUALITY_OF_SERVICE SecurityQos;
|
SECURITY_QUALITY_OF_SERVICE SecurityQos;
|
||||||
PACCESS_TOKEN ClientToken;
|
PACCESS_TOKEN ClientToken;
|
||||||
|
@ -1598,6 +1638,90 @@ typedef struct _VAD_HEADER {
|
||||||
LIST_ENTRY Secured;
|
LIST_ENTRY Secured;
|
||||||
} VAD_HEADER, *PVAD_HEADER;
|
} VAD_HEADER, *PVAD_HEADER;
|
||||||
|
|
||||||
|
#if (VER_PRODUCTBUILD >= 2600)
|
||||||
|
|
||||||
|
typedef BOOLEAN
|
||||||
|
(NTAPI *PFILTER_REPORT_CHANGE) (
|
||||||
|
IN PVOID NotifyContext,
|
||||||
|
IN PVOID FilterContext
|
||||||
|
);
|
||||||
|
|
||||||
|
typedef enum _FS_FILTER_SECTION_SYNC_TYPE {
|
||||||
|
SyncTypeOther = 0,
|
||||||
|
SyncTypeCreateSection
|
||||||
|
} FS_FILTER_SECTION_SYNC_TYPE, *PFS_FILTER_SECTION_SYNC_TYPE;
|
||||||
|
|
||||||
|
typedef union _FS_FILTER_PARAMETERS {
|
||||||
|
struct {
|
||||||
|
PLARGE_INTEGER EndingOffset;
|
||||||
|
} AcquireForModifiedPageWriter;
|
||||||
|
|
||||||
|
struct {
|
||||||
|
PERESOURCE ResourceToRelease;
|
||||||
|
} ReleaseForModifiedPageWriter;
|
||||||
|
|
||||||
|
struct {
|
||||||
|
FS_FILTER_SECTION_SYNC_TYPE SyncType;
|
||||||
|
ULONG PageProtection;
|
||||||
|
} AcquireForSectionSynchronization;
|
||||||
|
|
||||||
|
struct {
|
||||||
|
PVOID Argument1;
|
||||||
|
PVOID Argument2;
|
||||||
|
PVOID Argument3;
|
||||||
|
PVOID Argument4;
|
||||||
|
PVOID Argument5;
|
||||||
|
} Others;
|
||||||
|
} FS_FILTER_PARAMETERS, *PFS_FILTER_PARAMETERS;
|
||||||
|
|
||||||
|
typedef struct _FS_FILTER_CALLBACK_DATA {
|
||||||
|
ULONG SizeOfFsFilterCallbackData;
|
||||||
|
UCHAR Operation;
|
||||||
|
UCHAR Reserved;
|
||||||
|
struct _DEVICE_OBJECT *DeviceObject;
|
||||||
|
struct _FILE_OBJECT *FileObject;
|
||||||
|
FS_FILTER_PARAMETERS Parameters;
|
||||||
|
} FS_FILTER_CALLBACK_DATA, *PFS_FILTER_CALLBACK_DATA;
|
||||||
|
|
||||||
|
typedef NTSTATUS
|
||||||
|
(NTAPI *PFS_FILTER_CALLBACK) (
|
||||||
|
IN PFS_FILTER_CALLBACK_DATA Data,
|
||||||
|
OUT PVOID *CompletionContext
|
||||||
|
);
|
||||||
|
|
||||||
|
typedef VOID
|
||||||
|
(NTAPI *PFS_FILTER_COMPLETION_CALLBACK) (
|
||||||
|
IN PFS_FILTER_CALLBACK_DATA Data,
|
||||||
|
IN NTSTATUS OperationStatus,
|
||||||
|
IN PVOID CompletionContext
|
||||||
|
);
|
||||||
|
|
||||||
|
typedef struct _FS_FILTER_CALLBACKS {
|
||||||
|
ULONG SizeOfFsFilterCallbacks;
|
||||||
|
ULONG Reserved;
|
||||||
|
PFS_FILTER_CALLBACK PreAcquireForSectionSynchronization;
|
||||||
|
PFS_FILTER_COMPLETION_CALLBACK PostAcquireForSectionSynchronization;
|
||||||
|
PFS_FILTER_CALLBACK PreReleaseForSectionSynchronization;
|
||||||
|
PFS_FILTER_COMPLETION_CALLBACK PostReleaseForSectionSynchronization;
|
||||||
|
PFS_FILTER_CALLBACK PreAcquireForCcFlush;
|
||||||
|
PFS_FILTER_COMPLETION_CALLBACK PostAcquireForCcFlush;
|
||||||
|
PFS_FILTER_CALLBACK PreReleaseForCcFlush;
|
||||||
|
PFS_FILTER_COMPLETION_CALLBACK PostReleaseForCcFlush;
|
||||||
|
PFS_FILTER_CALLBACK PreAcquireForModifiedPageWriter;
|
||||||
|
PFS_FILTER_COMPLETION_CALLBACK PostAcquireForModifiedPageWriter;
|
||||||
|
PFS_FILTER_CALLBACK PreReleaseForModifiedPageWriter;
|
||||||
|
PFS_FILTER_COMPLETION_CALLBACK PostReleaseForModifiedPageWriter;
|
||||||
|
} FS_FILTER_CALLBACKS, *PFS_FILTER_CALLBACKS;
|
||||||
|
|
||||||
|
typedef struct _READ_LIST {
|
||||||
|
PFILE_OBJECT FileObject;
|
||||||
|
ULONG NumberOfEntries;
|
||||||
|
LOGICAL IsImage;
|
||||||
|
FILE_SEGMENT_ELEMENT List[ANYSIZE_ARRAY];
|
||||||
|
} READ_LIST, *PREAD_LIST;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
NTKERNELAPI
|
NTKERNELAPI
|
||||||
BOOLEAN
|
BOOLEAN
|
||||||
NTAPI
|
NTAPI
|
||||||
|
@ -1734,6 +1858,7 @@ CcGetFlushedValidData (
|
||||||
|
|
||||||
NTKERNELAPI
|
NTKERNELAPI
|
||||||
LARGE_INTEGER
|
LARGE_INTEGER
|
||||||
|
NTAPI
|
||||||
CcGetLsnForFileObject (
|
CcGetLsnForFileObject (
|
||||||
IN PFILE_OBJECT FileObject,
|
IN PFILE_OBJECT FileObject,
|
||||||
OUT PLARGE_INTEGER OldestLsn OPTIONAL
|
OUT PLARGE_INTEGER OldestLsn OPTIONAL
|
||||||
|
@ -2051,17 +2176,79 @@ NTKERNELAPI
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
ExDisableResourceBoostLite (
|
ExDisableResourceBoostLite (
|
||||||
IN PERESOURCE Resource
|
IN PERESOURCE Resource
|
||||||
);
|
);
|
||||||
|
|
||||||
NTKERNELAPI
|
NTKERNELAPI
|
||||||
ULONG
|
ULONG
|
||||||
NTAPI
|
NTAPI
|
||||||
ExQueryPoolBlockSize (
|
ExQueryPoolBlockSize (
|
||||||
IN PVOID PoolBlock,
|
IN PVOID PoolBlock,
|
||||||
OUT PBOOLEAN QuotaCharged
|
OUT PBOOLEAN QuotaCharged
|
||||||
);
|
);
|
||||||
|
|
||||||
|
#if (VER_PRODUCTBUILD >= 2600)
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
VOID
|
||||||
|
FASTCALL
|
||||||
|
ExInitializeRundownProtection (
|
||||||
|
IN PEX_RUNDOWN_REF RunRef
|
||||||
|
);
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
VOID
|
||||||
|
FASTCALL
|
||||||
|
ExReInitializeRundownProtection (
|
||||||
|
IN PEX_RUNDOWN_REF RunRef
|
||||||
|
);
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
BOOLEAN
|
||||||
|
FASTCALL
|
||||||
|
ExAcquireRundownProtection (
|
||||||
|
IN PEX_RUNDOWN_REF RunRef
|
||||||
|
);
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
BOOLEAN
|
||||||
|
FASTCALL
|
||||||
|
ExAcquireRundownProtectionEx (
|
||||||
|
IN PEX_RUNDOWN_REF RunRef,
|
||||||
|
IN ULONG Count
|
||||||
|
);
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
VOID
|
||||||
|
FASTCALL
|
||||||
|
ExReleaseRundownProtection (
|
||||||
|
IN PEX_RUNDOWN_REF RunRef
|
||||||
|
);
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
VOID
|
||||||
|
FASTCALL
|
||||||
|
ExReleaseRundownProtectionEx (
|
||||||
|
IN PEX_RUNDOWN_REF RunRef,
|
||||||
|
IN ULONG Count
|
||||||
|
);
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
VOID
|
||||||
|
FASTCALL
|
||||||
|
ExRundownCompleted (
|
||||||
|
IN PEX_RUNDOWN_REF RunRef
|
||||||
|
);
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
VOID
|
||||||
|
FASTCALL
|
||||||
|
ExWaitForRundownProtectionRelease (
|
||||||
|
IN PEX_RUNDOWN_REF RunRef
|
||||||
|
);
|
||||||
|
|
||||||
|
#endif /* (VER_PRODUCTBUILD >= 2600) */
|
||||||
|
|
||||||
#define FlagOn(x, f) ((x) & (f))
|
#define FlagOn(x, f) ((x) & (f))
|
||||||
|
|
||||||
NTKERNELAPI
|
NTKERNELAPI
|
||||||
|
@ -2442,12 +2629,35 @@ FsRtlIsNtstatusExpected (
|
||||||
IN NTSTATUS Ntstatus
|
IN NTSTATUS Ntstatus
|
||||||
);
|
);
|
||||||
|
|
||||||
|
#define FsRtlIsLeadDbcsCharacter(DBCS_CHAR) ( \
|
||||||
|
(BOOLEAN)((UCHAR)(DBCS_CHAR) < 0x80 ? FALSE : \
|
||||||
|
(NLS_MB_CODE_PAGE_TAG && \
|
||||||
|
(NLS_OEM_LEAD_BYTE_INFO[(UCHAR)(DBCS_CHAR)] != 0))) \
|
||||||
|
)
|
||||||
|
|
||||||
|
#define FsRtlIsAnsiCharacterWild(C) ( \
|
||||||
|
FlagOn(FsRtlLegalAnsiCharacterArray[(UCHAR)(C)], FSRTL_WILD_CHARACTER ) \
|
||||||
|
)
|
||||||
|
|
||||||
#define FsRtlIsUnicodeCharacterWild(C) ( \
|
#define FsRtlIsUnicodeCharacterWild(C) ( \
|
||||||
(((C) >= 0x40) ? \
|
(((C) >= 0x40) ? \
|
||||||
FALSE : \
|
FALSE : \
|
||||||
FlagOn((*FsRtlLegalAnsiCharacterArray)[(C)], FSRTL_WILD_CHARACTER )) \
|
FlagOn(FsRtlLegalAnsiCharacterArray[(C)], FSRTL_WILD_CHARACTER )) \
|
||||||
)
|
)
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
BOOLEAN
|
||||||
|
NTAPI
|
||||||
|
FsRtlMdlReadDev (
|
||||||
|
IN PFILE_OBJECT FileObject,
|
||||||
|
IN PLARGE_INTEGER FileOffset,
|
||||||
|
IN ULONG Length,
|
||||||
|
IN ULONG LockKey,
|
||||||
|
OUT PMDL *MdlChain,
|
||||||
|
OUT PIO_STATUS_BLOCK IoStatus,
|
||||||
|
IN PDEVICE_OBJECT DeviceObject
|
||||||
|
);
|
||||||
|
|
||||||
NTKERNELAPI
|
NTKERNELAPI
|
||||||
BOOLEAN
|
BOOLEAN
|
||||||
NTAPI
|
NTAPI
|
||||||
|
@ -2465,6 +2675,19 @@ FsRtlMdlReadCompleteDev (
|
||||||
IN PDEVICE_OBJECT DeviceObject
|
IN PDEVICE_OBJECT DeviceObject
|
||||||
);
|
);
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
BOOLEAN
|
||||||
|
NTAPI
|
||||||
|
FsRtlPrepareMdlWriteDev (
|
||||||
|
IN PFILE_OBJECT FileObject,
|
||||||
|
IN PLARGE_INTEGER FileOffset,
|
||||||
|
IN ULONG Length,
|
||||||
|
IN ULONG LockKey,
|
||||||
|
OUT PMDL *MdlChain,
|
||||||
|
OUT PIO_STATUS_BLOCK IoStatus,
|
||||||
|
IN PDEVICE_OBJECT DeviceObject
|
||||||
|
);
|
||||||
|
|
||||||
NTKERNELAPI
|
NTKERNELAPI
|
||||||
BOOLEAN
|
BOOLEAN
|
||||||
NTAPI
|
NTAPI
|
||||||
|
@ -2555,7 +2778,7 @@ NTKERNELAPI
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
FsRtlNotifyInitializeSync (
|
FsRtlNotifyInitializeSync (
|
||||||
IN PNOTIFY_SYNC NotifySync
|
IN PNOTIFY_SYNC *NotifySync
|
||||||
);
|
);
|
||||||
|
|
||||||
NTKERNELAPI
|
NTKERNELAPI
|
||||||
|
@ -2573,7 +2796,7 @@ NTKERNELAPI
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
FsRtlNotifyUninitializeSync (
|
FsRtlNotifyUninitializeSync (
|
||||||
IN PNOTIFY_SYNC NotifySync
|
IN PNOTIFY_SYNC *NotifySync
|
||||||
);
|
);
|
||||||
|
|
||||||
#if (VER_PRODUCTBUILD >= 2195)
|
#if (VER_PRODUCTBUILD >= 2195)
|
||||||
|
@ -2670,6 +2893,30 @@ FsRtlRegisterUncProvider (
|
||||||
IN BOOLEAN MailslotsSupported
|
IN BOOLEAN MailslotsSupported
|
||||||
);
|
);
|
||||||
|
|
||||||
|
typedef VOID
|
||||||
|
(NTAPI *PFSRTL_STACK_OVERFLOW_ROUTINE) (
|
||||||
|
IN PVOID Context,
|
||||||
|
IN PKEVENT Event
|
||||||
|
);
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
VOID
|
||||||
|
NTAPI
|
||||||
|
FsRtlPostStackOverflow (
|
||||||
|
IN PVOID Context,
|
||||||
|
IN PKEVENT Event,
|
||||||
|
IN PFSRTL_STACK_OVERFLOW_ROUTINE StackOverflowRoutine
|
||||||
|
);
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
VOID
|
||||||
|
NTAPI
|
||||||
|
FsRtlPostPagingFileStackOverflow (
|
||||||
|
IN PVOID Context,
|
||||||
|
IN PKEVENT Event,
|
||||||
|
IN PFSRTL_STACK_OVERFLOW_ROUTINE StackOverflowRoutine
|
||||||
|
);
|
||||||
|
|
||||||
NTKERNELAPI
|
NTKERNELAPI
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
|
@ -2712,6 +2959,15 @@ HalSetRealTimeClock (
|
||||||
(m)->DataInfoOffset = 0; \
|
(m)->DataInfoOffset = 0; \
|
||||||
}
|
}
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
IoAttachDeviceToDeviceStackSafe(
|
||||||
|
IN PDEVICE_OBJECT SourceDevice,
|
||||||
|
IN PDEVICE_OBJECT TargetDevice,
|
||||||
|
OUT PDEVICE_OBJECT *AttachedToDeviceObject
|
||||||
|
);
|
||||||
|
|
||||||
NTKERNELAPI
|
NTKERNELAPI
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
|
@ -2744,8 +3000,8 @@ IoCheckFunctionAccess (
|
||||||
IN UCHAR MajorFunction,
|
IN UCHAR MajorFunction,
|
||||||
IN UCHAR MinorFunction,
|
IN UCHAR MinorFunction,
|
||||||
IN ULONG IoControlCode,
|
IN ULONG IoControlCode,
|
||||||
IN PFILE_INFORMATION_CLASS FileInformationClass OPTIONAL,
|
IN PVOID Argument1 OPTIONAL,
|
||||||
IN PFS_INFORMATION_CLASS FsInformationClass OPTIONAL
|
IN PVOID Argument2 OPTIONAL
|
||||||
);
|
);
|
||||||
|
|
||||||
#if (VER_PRODUCTBUILD >= 2195)
|
#if (VER_PRODUCTBUILD >= 2195)
|
||||||
|
@ -2898,6 +3154,13 @@ IoQueryVolumeInformation (
|
||||||
OUT PULONG ReturnedLength
|
OUT PULONG ReturnedLength
|
||||||
);
|
);
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
VOID
|
||||||
|
NTAPI
|
||||||
|
IoQueueThreadIrp(
|
||||||
|
IN PIRP Irp
|
||||||
|
);
|
||||||
|
|
||||||
NTKERNELAPI
|
NTKERNELAPI
|
||||||
VOID
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
|
@ -2982,7 +3245,7 @@ IoUnregisterFileSystem (
|
||||||
#if (VER_PRODUCTBUILD >= 1381)
|
#if (VER_PRODUCTBUILD >= 1381)
|
||||||
|
|
||||||
NTKERNELAPI
|
NTKERNELAPI
|
||||||
NTSTATUS
|
VOID
|
||||||
NTAPI
|
NTAPI
|
||||||
IoUnregisterFsRegistrationChange (
|
IoUnregisterFsRegistrationChange (
|
||||||
IN PDRIVER_OBJECT DriverObject,
|
IN PDRIVER_OBJECT DriverObject,
|
||||||
|
@ -3070,6 +3333,31 @@ KeRundownQueue (
|
||||||
IN PRKQUEUE Queue
|
IN PRKQUEUE Queue
|
||||||
);
|
);
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
VOID
|
||||||
|
NTAPI
|
||||||
|
KeInitializeMutant (
|
||||||
|
IN PRKMUTANT Mutant,
|
||||||
|
IN BOOLEAN InitialOwner
|
||||||
|
);
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
LONG
|
||||||
|
NTAPI
|
||||||
|
KeReadStateMutant (
|
||||||
|
IN PRKMUTANT Mutant
|
||||||
|
);
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
LONG
|
||||||
|
NTAPI
|
||||||
|
KeReleaseMutant (
|
||||||
|
IN PRKMUTANT Mutant,
|
||||||
|
IN KPRIORITY Increment,
|
||||||
|
IN BOOLEAN Abandoned,
|
||||||
|
IN BOOLEAN Wait
|
||||||
|
);
|
||||||
|
|
||||||
#if (VER_PRODUCTBUILD >= 2195)
|
#if (VER_PRODUCTBUILD >= 2195)
|
||||||
|
|
||||||
NTKERNELAPI
|
NTKERNELAPI
|
||||||
|
@ -3261,12 +3549,19 @@ PsChargePoolQuota (
|
||||||
#define PsDereferencePrimaryToken(T) (ObDereferenceObject((T)))
|
#define PsDereferencePrimaryToken(T) (ObDereferenceObject((T)))
|
||||||
|
|
||||||
NTKERNELAPI
|
NTKERNELAPI
|
||||||
ULONGLONG
|
LARGE_INTEGER
|
||||||
NTAPI
|
NTAPI
|
||||||
PsGetProcessExitTime (
|
PsGetProcessExitTime (
|
||||||
VOID
|
VOID
|
||||||
);
|
);
|
||||||
|
|
||||||
|
NTKERNELAPI
|
||||||
|
BOOLEAN
|
||||||
|
NTAPI
|
||||||
|
PsIsSystemThread(
|
||||||
|
IN PETHREAD Thread
|
||||||
|
);
|
||||||
|
|
||||||
NTKERNELAPI
|
NTKERNELAPI
|
||||||
BOOLEAN
|
BOOLEAN
|
||||||
NTAPI
|
NTAPI
|
||||||
|
@ -3679,16 +3974,6 @@ SeCaptureSubjectContext (
|
||||||
OUT PSECURITY_SUBJECT_CONTEXT SubjectContext
|
OUT PSECURITY_SUBJECT_CONTEXT SubjectContext
|
||||||
);
|
);
|
||||||
|
|
||||||
NTKERNELAPI
|
|
||||||
NTSTATUS
|
|
||||||
NTAPI
|
|
||||||
SeCreateAccessState (
|
|
||||||
OUT PACCESS_STATE AccessState,
|
|
||||||
IN PVOID AuxData,
|
|
||||||
IN ACCESS_MASK AccessMask,
|
|
||||||
IN PGENERIC_MAPPING Mapping
|
|
||||||
);
|
|
||||||
|
|
||||||
NTKERNELAPI
|
NTKERNELAPI
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
|
@ -3946,6 +4231,7 @@ SeUnlockSubjectContext (
|
||||||
|
|
||||||
NTKERNELAPI
|
NTKERNELAPI
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
SeUnregisterLogonSessionTerminatedRoutine (
|
SeUnregisterLogonSessionTerminatedRoutine (
|
||||||
IN PSE_LOGON_SESSION_TERMINATED_ROUTINE CallbackRoutine
|
IN PSE_LOGON_SESSION_TERMINATED_ROUTINE CallbackRoutine
|
||||||
);
|
);
|
||||||
|
|
|
@ -52,6 +52,16 @@ extern "C" {
|
||||||
#define DECLARE_INTERNAL_OBJECT2(x,y) struct _##x; typedef struct _##x *P##y;
|
#define DECLARE_INTERNAL_OBJECT2(x,y) struct _##x; typedef struct _##x *P##y;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(_NTHAL_)
|
||||||
|
#ifndef NTHALAPI
|
||||||
|
#define NTHALAPI DECL_EXPORT
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
|
#ifndef NTHALAPI
|
||||||
|
#define NTHALAPI DECL_IMPORT
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Pseudo modifiers for parameters */
|
/* Pseudo modifiers for parameters */
|
||||||
#define IN
|
#define IN
|
||||||
#define OUT
|
#define OUT
|
||||||
|
@ -170,6 +180,7 @@ typedef struct _HAL_DISPATCH_TABLE *PHAL_DISPATCH_TABLE;
|
||||||
typedef struct _HAL_PRIVATE_DISPATCH_TABLE *PHAL_PRIVATE_DISPATCH_TABLE;
|
typedef struct _HAL_PRIVATE_DISPATCH_TABLE *PHAL_PRIVATE_DISPATCH_TABLE;
|
||||||
typedef struct _DEVICE_HANDLER_OBJECT *PDEVICE_HANDLER_OBJECT;
|
typedef struct _DEVICE_HANDLER_OBJECT *PDEVICE_HANDLER_OBJECT;
|
||||||
typedef struct _BUS_HANDLER *PBUS_HANDLER;
|
typedef struct _BUS_HANDLER *PBUS_HANDLER;
|
||||||
|
typedef struct _ADAPTER_OBJECT *PADAPTER_OBJECT;
|
||||||
typedef struct _DRIVE_LAYOUT_INFORMATION *PDRIVE_LAYOUT_INFORMATION;
|
typedef struct _DRIVE_LAYOUT_INFORMATION *PDRIVE_LAYOUT_INFORMATION;
|
||||||
typedef struct _DRIVE_LAYOUT_INFORMATION_EX *PDRIVE_LAYOUT_INFORMATION_EX;
|
typedef struct _DRIVE_LAYOUT_INFORMATION_EX *PDRIVE_LAYOUT_INFORMATION_EX;
|
||||||
typedef struct _NAMED_PIPE_CREATE_PARAMETERS *PNAMED_PIPE_CREATE_PARAMETERS;
|
typedef struct _NAMED_PIPE_CREATE_PARAMETERS *PNAMED_PIPE_CREATE_PARAMETERS;
|
||||||
|
@ -315,6 +326,14 @@ typedef struct _FILE_GET_QUOTA_INFORMATION *PFILE_GET_QUOTA_INFORMATION;
|
||||||
#define DIRECTORY_CREATE_SUBDIRECTORY (0x0008)
|
#define DIRECTORY_CREATE_SUBDIRECTORY (0x0008)
|
||||||
#define DIRECTORY_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | 0xF)
|
#define DIRECTORY_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | 0xF)
|
||||||
|
|
||||||
|
#define EVENT_QUERY_STATE (0x0001)
|
||||||
|
#define EVENT_MODIFY_STATE (0x0002)
|
||||||
|
#define EVENT_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x3)
|
||||||
|
|
||||||
|
#define SEMAPHORE_QUERY_STATE (0x0001)
|
||||||
|
#define SEMAPHORE_MODIFY_STATE (0x0002)
|
||||||
|
#define SEMAPHORE_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x3)
|
||||||
|
|
||||||
/* Exported object types */
|
/* Exported object types */
|
||||||
extern NTOSAPI POBJECT_TYPE ExDesktopObjectType;
|
extern NTOSAPI POBJECT_TYPE ExDesktopObjectType;
|
||||||
extern NTOSAPI POBJECT_TYPE ExEventObjectType;
|
extern NTOSAPI POBJECT_TYPE ExEventObjectType;
|
||||||
|
@ -331,7 +350,6 @@ extern NTOSAPI POBJECT_TYPE MmSectionObjectType;
|
||||||
extern NTOSAPI POBJECT_TYPE SeTokenObjectType;
|
extern NTOSAPI POBJECT_TYPE SeTokenObjectType;
|
||||||
|
|
||||||
extern NTOSAPI CCHAR KeNumberProcessors;
|
extern NTOSAPI CCHAR KeNumberProcessors;
|
||||||
extern NTOSAPI PHAL_PRIVATE_DISPATCH_TABLE HalPrivateDispatchTable;
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -897,7 +915,7 @@ typedef struct _KDPC_DATA {
|
||||||
|
|
||||||
typedef struct _WAIT_CONTEXT_BLOCK {
|
typedef struct _WAIT_CONTEXT_BLOCK {
|
||||||
KDEVICE_QUEUE_ENTRY WaitQueueEntry;
|
KDEVICE_QUEUE_ENTRY WaitQueueEntry;
|
||||||
struct _DRIVER_CONTROL *DeviceRoutine;
|
PDRIVER_CONTROL DeviceRoutine;
|
||||||
PVOID DeviceContext;
|
PVOID DeviceContext;
|
||||||
ULONG NumberOfMapRegisters;
|
ULONG NumberOfMapRegisters;
|
||||||
PVOID DeviceObject;
|
PVOID DeviceObject;
|
||||||
|
@ -1092,6 +1110,11 @@ enum
|
||||||
IRP_RETRY_IO_COMPLETION = 0x4000
|
IRP_RETRY_IO_COMPLETION = 0x4000
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define IRP_QUOTA_CHARGED 0x01
|
||||||
|
#define IRP_ALLOCATED_MUST_SUCCEED 0x02
|
||||||
|
#define IRP_ALLOCATED_FIXED_SIZE 0x04
|
||||||
|
#define IRP_LOOKASIDE_ALLOCATION 0x08
|
||||||
|
|
||||||
typedef struct _BOOTDISK_INFORMATION {
|
typedef struct _BOOTDISK_INFORMATION {
|
||||||
LONGLONG BootPartitionOffset;
|
LONGLONG BootPartitionOffset;
|
||||||
LONGLONG SystemPartitionOffset;
|
LONGLONG SystemPartitionOffset;
|
||||||
|
@ -2324,8 +2347,27 @@ typedef struct {
|
||||||
pHalMirrorVerify HalMirrorVerify;
|
pHalMirrorVerify HalMirrorVerify;
|
||||||
} HAL_DISPATCH, *PHAL_DISPATCH;
|
} HAL_DISPATCH, *PHAL_DISPATCH;
|
||||||
|
|
||||||
extern HAL_DISPATCH HalDispatchTable;
|
#if defined(_NTDRIVER_) || defined(_NTDDK_) || defined(_NTIFS_) || defined(_NTHAL_)
|
||||||
#define HALDISPATCH HalDispatchTable
|
extern DECL_IMPORT PHAL_DISPATCH HalDispatchTable;
|
||||||
|
#define HALDISPATCH ((PHAL_DISPATCH)&HalDispatchTable)
|
||||||
|
#else
|
||||||
|
extern DECL_EXPORT HAL_DISPATCH HalDispatchTable;
|
||||||
|
#define HALDISPATCH (&HalDispatchTable)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define HAL_DISPATCH_VERSION 3
|
||||||
|
#define HalDispatchTableVersion HALDISPATCH->Version
|
||||||
|
#define HalQuerySystemInformation HALDISPATCH->HalQuerySystemInformation
|
||||||
|
#define HalSetSystemInformation HALDISPATCH->HalSetSystemInformation
|
||||||
|
#define HalQueryBusSlots HALDISPATCH->HalQueryBusSlots
|
||||||
|
#define HalDeviceControl HALDISPATCH->HalDeviceControl
|
||||||
|
#define HalIoAssignDriveLetters HALDISPATCH->HalIoAssignDriveLetters
|
||||||
|
#define HalIoReadPartitionTable HALDISPATCH->HalIoReadPartitionTable
|
||||||
|
#define HalIoSetPartitionInformation HALDISPATCH->HalIoSetPartitionInformation
|
||||||
|
#define HalIoWritePartitionTable HALDISPATCH->HalIoWritePartitionTable
|
||||||
|
#define HalReferenceHandlerForBus HALDISPATCH->HalReferenceHandlerForBus
|
||||||
|
#define HalReferenceBusHandler HALDISPATCH->HalReferenceBusHandler
|
||||||
|
#define HalDereferenceBusHandler HALDISPATCH->HalDereferenceBusHandler
|
||||||
|
|
||||||
typedef enum _FILE_INFORMATION_CLASS {
|
typedef enum _FILE_INFORMATION_CLASS {
|
||||||
FileDirectoryInformation = 1,
|
FileDirectoryInformation = 1,
|
||||||
|
@ -2492,10 +2534,9 @@ typedef struct _ERESOURCE {
|
||||||
KSPIN_LOCK SpinLock;
|
KSPIN_LOCK SpinLock;
|
||||||
} ERESOURCE, *PERESOURCE;
|
} ERESOURCE, *PERESOURCE;
|
||||||
|
|
||||||
/* NOTE: PVOID for methods to avoid 'assignment from incompatible pointer type' warning */
|
|
||||||
typedef struct _DRIVER_EXTENSION {
|
typedef struct _DRIVER_EXTENSION {
|
||||||
struct _DRIVER_OBJECT *DriverObject;
|
struct _DRIVER_OBJECT *DriverObject;
|
||||||
PVOID AddDevice;
|
PDRIVER_ADD_DEVICE AddDevice;
|
||||||
ULONG Count;
|
ULONG Count;
|
||||||
UNICODE_STRING ServiceKeyName;
|
UNICODE_STRING ServiceKeyName;
|
||||||
} DRIVER_EXTENSION, *PDRIVER_EXTENSION;
|
} DRIVER_EXTENSION, *PDRIVER_EXTENSION;
|
||||||
|
@ -2894,6 +2935,20 @@ typedef struct _IO_SECURITY_CONTEXT {
|
||||||
ULONG FullCreateOptions;
|
ULONG FullCreateOptions;
|
||||||
} IO_SECURITY_CONTEXT, *PIO_SECURITY_CONTEXT;
|
} IO_SECURITY_CONTEXT, *PIO_SECURITY_CONTEXT;
|
||||||
|
|
||||||
|
#define IO_TYPE_ADAPTER 1
|
||||||
|
#define IO_TYPE_CONTROLLER 2
|
||||||
|
#define IO_TYPE_DEVICE 3
|
||||||
|
#define IO_TYPE_DRIVER 4
|
||||||
|
#define IO_TYPE_FILE 5
|
||||||
|
#define IO_TYPE_IRP 6
|
||||||
|
#define IO_TYPE_MASTER_ADAPTER 7
|
||||||
|
#define IO_TYPE_OPEN_PACKET 8
|
||||||
|
#define IO_TYPE_TIMER 9
|
||||||
|
#define IO_TYPE_VPB 10
|
||||||
|
#define IO_TYPE_ERROR_LOG 11
|
||||||
|
#define IO_TYPE_ERROR_MESSAGE 12
|
||||||
|
#define IO_TYPE_DEVICE_OBJECT_EXTENSION 13
|
||||||
|
|
||||||
#define IO_TYPE_CSQ_IRP_CONTEXT 1
|
#define IO_TYPE_CSQ_IRP_CONTEXT 1
|
||||||
#define IO_TYPE_CSQ 2
|
#define IO_TYPE_CSQ 2
|
||||||
|
|
||||||
|
@ -3241,6 +3296,20 @@ typedef enum _KEY_VALUE_INFORMATION_CLASS {
|
||||||
KeyValuePartialInformationAlign64
|
KeyValuePartialInformationAlign64
|
||||||
} KEY_VALUE_INFORMATION_CLASS;
|
} KEY_VALUE_INFORMATION_CLASS;
|
||||||
|
|
||||||
|
typedef struct _KEY_WRITE_TIME_INFORMATION {
|
||||||
|
LARGE_INTEGER LastWriteTime;
|
||||||
|
} KEY_WRITE_TIME_INFORMATION, *PKEY_WRITE_TIME_INFORMATION;
|
||||||
|
|
||||||
|
typedef struct _KEY_USER_FLAGS_INFORMATION {
|
||||||
|
ULONG UserFlags;
|
||||||
|
} KEY_USER_FLAGS_INFORMATION, *PKEY_USER_FLAGS_INFORMATION;
|
||||||
|
|
||||||
|
typedef enum _KEY_SET_INFORMATION_CLASS {
|
||||||
|
KeyWriteTimeInformation,
|
||||||
|
KeyUserFlagsInformation,
|
||||||
|
MaxKeySetInfoClass
|
||||||
|
} KEY_SET_INFORMATION_CLASS;
|
||||||
|
|
||||||
/* KEY_VALUE_Xxx.Type */
|
/* KEY_VALUE_Xxx.Type */
|
||||||
|
|
||||||
#define REG_NONE 0
|
#define REG_NONE 0
|
||||||
|
@ -3642,44 +3711,41 @@ typedef VOID
|
||||||
(DDKAPI *PFREE_FUNCTION)(
|
(DDKAPI *PFREE_FUNCTION)(
|
||||||
IN PVOID Buffer);
|
IN PVOID Buffer);
|
||||||
|
|
||||||
#define GENERAL_LOOKASIDE_S \
|
|
||||||
SLIST_HEADER ListHead; \
|
|
||||||
USHORT Depth; \
|
|
||||||
USHORT MaximumDepth; \
|
|
||||||
ULONG TotalAllocates; \
|
|
||||||
_ANONYMOUS_UNION union { \
|
|
||||||
ULONG AllocateMisses; \
|
|
||||||
ULONG AllocateHits; \
|
|
||||||
} DUMMYUNIONNAME; \
|
|
||||||
ULONG TotalFrees; \
|
|
||||||
_ANONYMOUS_UNION union { \
|
|
||||||
ULONG FreeMisses; \
|
|
||||||
ULONG FreeHits; \
|
|
||||||
} DUMMYUNIONNAME2; \
|
|
||||||
POOL_TYPE Type; \
|
|
||||||
ULONG Tag; \
|
|
||||||
ULONG Size; \
|
|
||||||
PALLOCATE_FUNCTION Allocate; \
|
|
||||||
PFREE_FUNCTION Free; \
|
|
||||||
LIST_ENTRY ListEntry; \
|
|
||||||
ULONG LastTotalAllocates; \
|
|
||||||
_ANONYMOUS_UNION union { \
|
|
||||||
ULONG LastAllocateMisses; \
|
|
||||||
ULONG LastAllocateHits; \
|
|
||||||
} DUMMYUNIONNAME3; \
|
|
||||||
ULONG Future[2];
|
|
||||||
|
|
||||||
typedef struct _GENERAL_LOOKASIDE {
|
typedef struct _GENERAL_LOOKASIDE {
|
||||||
GENERAL_LOOKASIDE_S
|
SLIST_HEADER ListHead;
|
||||||
|
USHORT Depth;
|
||||||
|
USHORT MaximumDepth;
|
||||||
|
ULONG TotalAllocates;
|
||||||
|
union {
|
||||||
|
ULONG AllocateMisses;
|
||||||
|
ULONG AllocateHits;
|
||||||
|
};
|
||||||
|
ULONG TotalFrees;
|
||||||
|
union {
|
||||||
|
ULONG FreeMisses;
|
||||||
|
ULONG FreeHits;
|
||||||
|
};
|
||||||
|
POOL_TYPE Type;
|
||||||
|
ULONG Tag;
|
||||||
|
ULONG Size;
|
||||||
|
PALLOCATE_FUNCTION Allocate;
|
||||||
|
PFREE_FUNCTION Free;
|
||||||
|
LIST_ENTRY ListEntry;
|
||||||
|
ULONG LastTotalAllocates;
|
||||||
|
union {
|
||||||
|
ULONG LastAllocateMisses;
|
||||||
|
ULONG LastAllocateHits;
|
||||||
|
};
|
||||||
|
ULONG Future[2];
|
||||||
} GENERAL_LOOKASIDE, *PGENERAL_LOOKASIDE;
|
} GENERAL_LOOKASIDE, *PGENERAL_LOOKASIDE;
|
||||||
|
|
||||||
typedef struct _NPAGED_LOOKASIDE_LIST {
|
typedef struct _NPAGED_LOOKASIDE_LIST {
|
||||||
GENERAL_LOOKASIDE_S
|
GENERAL_LOOKASIDE L;
|
||||||
KSPIN_LOCK Obsoleted;
|
KSPIN_LOCK Obsoleted;
|
||||||
} NPAGED_LOOKASIDE_LIST, *PNPAGED_LOOKASIDE_LIST;
|
} NPAGED_LOOKASIDE_LIST, *PNPAGED_LOOKASIDE_LIST;
|
||||||
|
|
||||||
typedef struct _PAGED_LOOKASIDE_LIST {
|
typedef struct _PAGED_LOOKASIDE_LIST {
|
||||||
GENERAL_LOOKASIDE_S
|
GENERAL_LOOKASIDE L;
|
||||||
FAST_MUTEX Obsoleted;
|
FAST_MUTEX Obsoleted;
|
||||||
} PAGED_LOOKASIDE_LIST, *PPAGED_LOOKASIDE_LIST;
|
} PAGED_LOOKASIDE_LIST, *PPAGED_LOOKASIDE_LIST;
|
||||||
|
|
||||||
|
@ -3895,6 +3961,9 @@ typedef enum _CONFIGURATION_TYPE {
|
||||||
MaximumType
|
MaximumType
|
||||||
} CONFIGURATION_TYPE, *PCONFIGURATION_TYPE;
|
} CONFIGURATION_TYPE, *PCONFIGURATION_TYPE;
|
||||||
|
|
||||||
|
#define IO_FORCE_ACCESS_CHECK 0x001
|
||||||
|
#define IO_NO_PARAMETER_CHECKING 0x100
|
||||||
|
|
||||||
typedef NTSTATUS
|
typedef NTSTATUS
|
||||||
(DDKAPI *PIO_QUERY_DEVICE_ROUTINE)(
|
(DDKAPI *PIO_QUERY_DEVICE_ROUTINE)(
|
||||||
IN PVOID Context,
|
IN PVOID Context,
|
||||||
|
@ -4350,7 +4419,7 @@ typedef struct _KPCR_TIB {
|
||||||
DWORD Version; /* 10 */
|
DWORD Version; /* 10 */
|
||||||
} DUMMYUNIONNAME;
|
} DUMMYUNIONNAME;
|
||||||
PVOID ArbitraryUserPointer; /* 14 */
|
PVOID ArbitraryUserPointer; /* 14 */
|
||||||
struct _NT_TIB *Self; /* 18 */
|
struct _KPCR_TIB *Self; /* 18 */
|
||||||
} KPCR_TIB, *PKPCR_TIB; /* 1C */
|
} KPCR_TIB, *PKPCR_TIB; /* 1C */
|
||||||
|
|
||||||
#define PCR_MINOR_VERSION 1
|
#define PCR_MINOR_VERSION 1
|
||||||
|
@ -4390,13 +4459,13 @@ typedef struct _KFLOATING_SAVE {
|
||||||
#define PAGE_SIZE 0x1000
|
#define PAGE_SIZE 0x1000
|
||||||
#define PAGE_SHIFT 12L
|
#define PAGE_SHIFT 12L
|
||||||
|
|
||||||
extern NTOSAPI PVOID *MmHighestUserAddress;
|
extern NTOSAPI PVOID MmHighestUserAddress;
|
||||||
extern NTOSAPI PVOID *MmSystemRangeStart;
|
extern NTOSAPI PVOID MmSystemRangeStart;
|
||||||
extern NTOSAPI ULONG *MmUserProbeAddress;
|
extern NTOSAPI ULONG_PTR MmUserProbeAddress;
|
||||||
|
|
||||||
#define MM_HIGHEST_USER_ADDRESS *MmHighestUserAddress
|
#define MM_HIGHEST_USER_ADDRESS MmHighestUserAddress
|
||||||
#define MM_SYSTEM_RANGE_START *MmSystemRangeStart
|
#define MM_SYSTEM_RANGE_START MmSystemRangeStart
|
||||||
#define MM_USER_PROBE_ADDRESS *MmUserProbeAddress
|
#define MM_USER_PROBE_ADDRESS MmUserProbeAddress
|
||||||
#define MM_LOWEST_USER_ADDRESS (PVOID)0x10000
|
#define MM_LOWEST_USER_ADDRESS (PVOID)0x10000
|
||||||
#define MM_LOWEST_SYSTEM_ADDRESS (PVOID)0xC0C00000
|
#define MM_LOWEST_SYSTEM_ADDRESS (PVOID)0xC0C00000
|
||||||
|
|
||||||
|
@ -4417,7 +4486,7 @@ typedef enum _INTERLOCKED_RESULT {
|
||||||
ResultPositive = RESULT_POSITIVE
|
ResultPositive = RESULT_POSITIVE
|
||||||
} INTERLOCKED_RESULT;
|
} INTERLOCKED_RESULT;
|
||||||
|
|
||||||
NTOSAPI
|
NTHALAPI
|
||||||
KIRQL
|
KIRQL
|
||||||
DDKAPI
|
DDKAPI
|
||||||
KeGetCurrentIrql(
|
KeGetCurrentIrql(
|
||||||
|
@ -4501,8 +4570,23 @@ DDKFASTAPI
|
||||||
KefReleaseSpinLockFromDpcLevel(
|
KefReleaseSpinLockFromDpcLevel(
|
||||||
IN PKSPIN_LOCK SpinLock);
|
IN PKSPIN_LOCK SpinLock);
|
||||||
|
|
||||||
|
NTHALAPI
|
||||||
|
KIRQL
|
||||||
|
DDKFASTAPI
|
||||||
|
KfAcquireSpinLock(
|
||||||
|
IN PKSPIN_LOCK SpinLock);
|
||||||
|
|
||||||
|
NTHALAPI
|
||||||
|
VOID
|
||||||
|
DDKFASTAPI
|
||||||
|
KfReleaseSpinLock(
|
||||||
|
IN PKSPIN_LOCK SpinLock,
|
||||||
|
IN KIRQL NewIrql);
|
||||||
|
|
||||||
#define KeAcquireSpinLockAtDpcLevel(SpinLock) KefAcquireSpinLockAtDpcLevel(SpinLock)
|
#define KeAcquireSpinLockAtDpcLevel(SpinLock) KefAcquireSpinLockAtDpcLevel(SpinLock)
|
||||||
#define KeReleaseSpinLockFromDpcLevel(SpinLock) KefReleaseSpinLockFromDpcLevel(SpinLock)
|
#define KeReleaseSpinLockFromDpcLevel(SpinLock) KefReleaseSpinLockFromDpcLevel(SpinLock)
|
||||||
|
#define KeAcquireSpinLock(a,b) *(b) = KfAcquireSpinLock(a)
|
||||||
|
#define KeReleaseSpinLock(a,b) KfReleaseSpinLock(a,b)
|
||||||
|
|
||||||
#define RtlCopyMemoryNonTemporal RtlCopyMemory
|
#define RtlCopyMemoryNonTemporal RtlCopyMemory
|
||||||
|
|
||||||
|
@ -5655,7 +5739,11 @@ KeTryToAcquireGuardedMutex(
|
||||||
|
|
||||||
/** Executive support routines **/
|
/** Executive support routines **/
|
||||||
|
|
||||||
|
#if defined(_X86_)
|
||||||
|
NTHALAPI
|
||||||
|
#else
|
||||||
NTOSAPI
|
NTOSAPI
|
||||||
|
#endif
|
||||||
VOID
|
VOID
|
||||||
DDKFASTAPI
|
DDKFASTAPI
|
||||||
ExAcquireFastMutex(
|
ExAcquireFastMutex(
|
||||||
|
@ -5699,14 +5787,14 @@ static __inline PVOID
|
||||||
ExAllocateFromNPagedLookasideList(
|
ExAllocateFromNPagedLookasideList(
|
||||||
IN PNPAGED_LOOKASIDE_LIST Lookaside)
|
IN PNPAGED_LOOKASIDE_LIST Lookaside)
|
||||||
{
|
{
|
||||||
PVOID Entry;
|
PVOID Entry;
|
||||||
|
|
||||||
Lookaside->TotalAllocates++;
|
Lookaside->L.TotalAllocates++;
|
||||||
Entry = InterlockedPopEntrySList(&Lookaside->ListHead);
|
Entry = InterlockedPopEntrySList(&Lookaside->L.ListHead);
|
||||||
if (Entry == NULL) {
|
if (Entry == NULL) {
|
||||||
Lookaside->_DDK_DUMMYUNION_MEMBER(AllocateMisses)++;
|
Lookaside->L.AllocateMisses++;
|
||||||
Entry = (Lookaside->Allocate)(Lookaside->Type, Lookaside->Size, Lookaside->Tag);
|
Entry = (Lookaside->L.Allocate)(Lookaside->L.Type, Lookaside->L.Size, Lookaside->L.Tag);
|
||||||
}
|
}
|
||||||
return Entry;
|
return Entry;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5716,12 +5804,11 @@ ExAllocateFromPagedLookasideList(
|
||||||
{
|
{
|
||||||
PVOID Entry;
|
PVOID Entry;
|
||||||
|
|
||||||
Lookaside->TotalAllocates++;
|
Lookaside->L.TotalAllocates++;
|
||||||
Entry = InterlockedPopEntrySList(&Lookaside->ListHead);
|
Entry = InterlockedPopEntrySList(&Lookaside->L.ListHead);
|
||||||
if (Entry == NULL) {
|
if (Entry == NULL) {
|
||||||
Lookaside->_DDK_DUMMYUNION_MEMBER(AllocateMisses)++;
|
Lookaside->L.AllocateMisses++;
|
||||||
Entry = (Lookaside->Allocate)(Lookaside->Type,
|
Entry = (Lookaside->L.Allocate)(Lookaside->L.Type, Lookaside->L.Size, Lookaside->L.Tag);
|
||||||
Lookaside->Size, Lookaside->Tag);
|
|
||||||
}
|
}
|
||||||
return Entry;
|
return Entry;
|
||||||
}
|
}
|
||||||
|
@ -5833,14 +5920,13 @@ ExFreeToNPagedLookasideList(
|
||||||
IN PNPAGED_LOOKASIDE_LIST Lookaside,
|
IN PNPAGED_LOOKASIDE_LIST Lookaside,
|
||||||
IN PVOID Entry)
|
IN PVOID Entry)
|
||||||
{
|
{
|
||||||
Lookaside->TotalFrees++;
|
Lookaside->L.TotalFrees++;
|
||||||
if (ExQueryDepthSList(&Lookaside->ListHead) >= Lookaside->Depth) {
|
if (ExQueryDepthSList(&Lookaside->L.ListHead) >= Lookaside->L.Depth) {
|
||||||
Lookaside->_DDK_DUMMYUNION_N_MEMBER(2,FreeMisses)++;
|
Lookaside->L.FreeMisses++;
|
||||||
(Lookaside->Free)(Entry);
|
(Lookaside->L.Free)(Entry);
|
||||||
} else {
|
} else {
|
||||||
InterlockedPushEntrySList(&Lookaside->ListHead,
|
InterlockedPushEntrySList(&Lookaside->L.ListHead, (PSLIST_ENTRY)Entry);
|
||||||
(PSLIST_ENTRY)Entry);
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static __inline VOID
|
static __inline VOID
|
||||||
|
@ -5848,12 +5934,12 @@ ExFreeToPagedLookasideList(
|
||||||
IN PPAGED_LOOKASIDE_LIST Lookaside,
|
IN PPAGED_LOOKASIDE_LIST Lookaside,
|
||||||
IN PVOID Entry)
|
IN PVOID Entry)
|
||||||
{
|
{
|
||||||
Lookaside->TotalFrees++;
|
Lookaside->L.TotalFrees++;
|
||||||
if (ExQueryDepthSList(&Lookaside->ListHead) >= Lookaside->Depth) {
|
if (ExQueryDepthSList(&Lookaside->L.ListHead) >= Lookaside->L.Depth) {
|
||||||
Lookaside->_DDK_DUMMYUNION_N_MEMBER(2,FreeMisses)++;
|
Lookaside->L.FreeMisses++;
|
||||||
(Lookaside->Free)(Entry);
|
(Lookaside->L.Free)(Entry);
|
||||||
} else {
|
} else {
|
||||||
InterlockedPushEntrySList(&Lookaside->ListHead, (PSLIST_ENTRY)Entry);
|
InterlockedPushEntrySList(&Lookaside->L.ListHead, (PSLIST_ENTRY)Entry);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5975,6 +6061,14 @@ ExInterlockedCompareExchange64(
|
||||||
IN PLONGLONG Comparand,
|
IN PLONGLONG Comparand,
|
||||||
IN PKSPIN_LOCK Lock);
|
IN PKSPIN_LOCK Lock);
|
||||||
|
|
||||||
|
NTOSAPI
|
||||||
|
LONGLONG
|
||||||
|
DDKFASTAPI
|
||||||
|
ExfInterlockedCompareExchange64(
|
||||||
|
IN OUT LONGLONG volatile *Destination,
|
||||||
|
IN PLONGLONG Exchange,
|
||||||
|
IN PLONGLONG Comperand);
|
||||||
|
|
||||||
NTOSAPI
|
NTOSAPI
|
||||||
PSINGLE_LIST_ENTRY
|
PSINGLE_LIST_ENTRY
|
||||||
DDKFASTAPI
|
DDKFASTAPI
|
||||||
|
@ -6112,7 +6206,11 @@ DDKAPI
|
||||||
ExReinitializeResourceLite(
|
ExReinitializeResourceLite(
|
||||||
IN PERESOURCE Resource);
|
IN PERESOURCE Resource);
|
||||||
|
|
||||||
|
#if defined(_X86_)
|
||||||
|
NTHALAPI
|
||||||
|
#else
|
||||||
NTOSAPI
|
NTOSAPI
|
||||||
|
#endif
|
||||||
VOID
|
VOID
|
||||||
DDKFASTAPI
|
DDKFASTAPI
|
||||||
ExReleaseFastMutex(
|
ExReleaseFastMutex(
|
||||||
|
@ -6158,7 +6256,11 @@ ExSystemTimeToLocalTime(
|
||||||
IN PLARGE_INTEGER SystemTime,
|
IN PLARGE_INTEGER SystemTime,
|
||||||
OUT PLARGE_INTEGER LocalTime);
|
OUT PLARGE_INTEGER LocalTime);
|
||||||
|
|
||||||
|
#ifdef _M_IX86
|
||||||
|
NTHALAPI
|
||||||
|
#else
|
||||||
NTOSAPI
|
NTOSAPI
|
||||||
|
#endif
|
||||||
BOOLEAN
|
BOOLEAN
|
||||||
DDKFASTAPI
|
DDKFASTAPI
|
||||||
ExTryToAcquireFastMutex(
|
ExTryToAcquireFastMutex(
|
||||||
|
@ -6251,7 +6353,7 @@ FsRtlIsTotalDeviceFailure(
|
||||||
|
|
||||||
/** Hardware abstraction layer routines **/
|
/** Hardware abstraction layer routines **/
|
||||||
|
|
||||||
NTOSAPI
|
NTHALAPI
|
||||||
BOOLEAN
|
BOOLEAN
|
||||||
DDKAPI
|
DDKAPI
|
||||||
HalMakeBeep(
|
HalMakeBeep(
|
||||||
|
@ -6266,7 +6368,7 @@ HalExamineMBR(
|
||||||
IN ULONG MBRTypeIdentifier,
|
IN ULONG MBRTypeIdentifier,
|
||||||
OUT PVOID *Buffer);
|
OUT PVOID *Buffer);
|
||||||
|
|
||||||
NTOSAPI
|
NTHALAPI
|
||||||
VOID
|
VOID
|
||||||
DDKAPI
|
DDKAPI
|
||||||
READ_PORT_BUFFER_UCHAR(
|
READ_PORT_BUFFER_UCHAR(
|
||||||
|
@ -6274,7 +6376,7 @@ READ_PORT_BUFFER_UCHAR(
|
||||||
IN PUCHAR Buffer,
|
IN PUCHAR Buffer,
|
||||||
IN ULONG Count);
|
IN ULONG Count);
|
||||||
|
|
||||||
NTOSAPI
|
NTHALAPI
|
||||||
VOID
|
VOID
|
||||||
DDKAPI
|
DDKAPI
|
||||||
READ_PORT_BUFFER_ULONG(
|
READ_PORT_BUFFER_ULONG(
|
||||||
|
@ -6282,7 +6384,7 @@ READ_PORT_BUFFER_ULONG(
|
||||||
IN PULONG Buffer,
|
IN PULONG Buffer,
|
||||||
IN ULONG Count);
|
IN ULONG Count);
|
||||||
|
|
||||||
NTOSAPI
|
NTHALAPI
|
||||||
VOID
|
VOID
|
||||||
DDKAPI
|
DDKAPI
|
||||||
READ_PORT_BUFFER_USHORT(
|
READ_PORT_BUFFER_USHORT(
|
||||||
|
@ -6290,19 +6392,19 @@ READ_PORT_BUFFER_USHORT(
|
||||||
IN PUSHORT Buffer,
|
IN PUSHORT Buffer,
|
||||||
IN ULONG Count);
|
IN ULONG Count);
|
||||||
|
|
||||||
NTOSAPI
|
NTHALAPI
|
||||||
UCHAR
|
UCHAR
|
||||||
DDKAPI
|
DDKAPI
|
||||||
READ_PORT_UCHAR(
|
READ_PORT_UCHAR(
|
||||||
IN PUCHAR Port);
|
IN PUCHAR Port);
|
||||||
|
|
||||||
NTOSAPI
|
NTHALAPI
|
||||||
ULONG
|
ULONG
|
||||||
DDKAPI
|
DDKAPI
|
||||||
READ_PORT_ULONG(
|
READ_PORT_ULONG(
|
||||||
IN PULONG Port);
|
IN PULONG Port);
|
||||||
|
|
||||||
NTOSAPI
|
NTHALAPI
|
||||||
USHORT
|
USHORT
|
||||||
DDKAPI
|
DDKAPI
|
||||||
READ_PORT_USHORT(
|
READ_PORT_USHORT(
|
||||||
|
@ -6350,7 +6452,7 @@ DDKAPI
|
||||||
READ_REGISTER_USHORT(
|
READ_REGISTER_USHORT(
|
||||||
IN PUSHORT Register);
|
IN PUSHORT Register);
|
||||||
|
|
||||||
NTOSAPI
|
NTHALAPI
|
||||||
VOID
|
VOID
|
||||||
DDKAPI
|
DDKAPI
|
||||||
WRITE_PORT_BUFFER_UCHAR(
|
WRITE_PORT_BUFFER_UCHAR(
|
||||||
|
@ -6358,7 +6460,7 @@ WRITE_PORT_BUFFER_UCHAR(
|
||||||
IN PUCHAR Buffer,
|
IN PUCHAR Buffer,
|
||||||
IN ULONG Count);
|
IN ULONG Count);
|
||||||
|
|
||||||
NTOSAPI
|
NTHALAPI
|
||||||
VOID
|
VOID
|
||||||
DDKAPI
|
DDKAPI
|
||||||
WRITE_PORT_BUFFER_ULONG(
|
WRITE_PORT_BUFFER_ULONG(
|
||||||
|
@ -6366,7 +6468,7 @@ WRITE_PORT_BUFFER_ULONG(
|
||||||
IN PULONG Buffer,
|
IN PULONG Buffer,
|
||||||
IN ULONG Count);
|
IN ULONG Count);
|
||||||
|
|
||||||
NTOSAPI
|
NTHALAPI
|
||||||
VOID
|
VOID
|
||||||
DDKAPI
|
DDKAPI
|
||||||
WRITE_PORT_BUFFER_USHORT(
|
WRITE_PORT_BUFFER_USHORT(
|
||||||
|
@ -6374,21 +6476,21 @@ WRITE_PORT_BUFFER_USHORT(
|
||||||
IN PUSHORT Buffer,
|
IN PUSHORT Buffer,
|
||||||
IN ULONG Count);
|
IN ULONG Count);
|
||||||
|
|
||||||
NTOSAPI
|
NTHALAPI
|
||||||
VOID
|
VOID
|
||||||
DDKAPI
|
DDKAPI
|
||||||
WRITE_PORT_UCHAR(
|
WRITE_PORT_UCHAR(
|
||||||
IN PUCHAR Port,
|
IN PUCHAR Port,
|
||||||
IN UCHAR Value);
|
IN UCHAR Value);
|
||||||
|
|
||||||
NTOSAPI
|
NTHALAPI
|
||||||
VOID
|
VOID
|
||||||
DDKAPI
|
DDKAPI
|
||||||
WRITE_PORT_ULONG(
|
WRITE_PORT_ULONG(
|
||||||
IN PULONG Port,
|
IN PULONG Port,
|
||||||
IN ULONG Value);
|
IN ULONG Value);
|
||||||
|
|
||||||
NTOSAPI
|
NTHALAPI
|
||||||
VOID
|
VOID
|
||||||
DDKAPI
|
DDKAPI
|
||||||
WRITE_PORT_USHORT(
|
WRITE_PORT_USHORT(
|
||||||
|
@ -7420,14 +7522,14 @@ IoReuseIrp(
|
||||||
}
|
}
|
||||||
|
|
||||||
NTOSAPI
|
NTOSAPI
|
||||||
VOID
|
NTSTATUS
|
||||||
DDKAPI
|
DDKAPI
|
||||||
IoSetCompletionRoutineEx(
|
IoSetCompletionRoutineEx(
|
||||||
IN PDEVICE_OBJECT DeviceObject,
|
IN PDEVICE_OBJECT DeviceObject,
|
||||||
IN PIRP Irp,
|
IN PIRP Irp,
|
||||||
IN PIO_COMPLETION_ROUTINE CompletionRoutine,
|
IN PIO_COMPLETION_ROUTINE CompletionRoutine,
|
||||||
IN PVOID Context,
|
IN PVOID Context,
|
||||||
IN BOOLEAN InvokeOnSuccess,
|
IN BOOLEAN InvokeOnSuccess,
|
||||||
IN BOOLEAN InvokeOnError,
|
IN BOOLEAN InvokeOnError,
|
||||||
IN BOOLEAN InvokeOnCancel);
|
IN BOOLEAN InvokeOnCancel);
|
||||||
|
|
||||||
|
@ -7734,7 +7836,7 @@ IoWritePartitionTableEx(
|
||||||
|
|
||||||
/** Kernel routines **/
|
/** Kernel routines **/
|
||||||
|
|
||||||
NTOSAPI
|
NTHALAPI
|
||||||
VOID
|
VOID
|
||||||
DDKFASTAPI
|
DDKFASTAPI
|
||||||
KeAcquireInStackQueuedSpinLock(
|
KeAcquireInStackQueuedSpinLock(
|
||||||
|
@ -7754,12 +7856,6 @@ DDKAPI
|
||||||
KeAcquireInterruptSpinLock(
|
KeAcquireInterruptSpinLock(
|
||||||
IN PKINTERRUPT Interrupt);
|
IN PKINTERRUPT Interrupt);
|
||||||
|
|
||||||
NTOSAPI
|
|
||||||
VOID
|
|
||||||
DDKAPI
|
|
||||||
KeAcquireSpinLock(
|
|
||||||
IN PKSPIN_LOCK SpinLock,
|
|
||||||
OUT PKIRQL OldIrql);
|
|
||||||
|
|
||||||
/* System Service Dispatch Table */
|
/* System Service Dispatch Table */
|
||||||
typedef PVOID (NTAPI * SSDT)(VOID);
|
typedef PVOID (NTAPI * SSDT)(VOID);
|
||||||
|
@ -7958,7 +8054,7 @@ DDKAPI
|
||||||
KeQueryInterruptTime(
|
KeQueryInterruptTime(
|
||||||
VOID);
|
VOID);
|
||||||
|
|
||||||
NTOSAPI
|
NTHALAPI
|
||||||
LARGE_INTEGER
|
LARGE_INTEGER
|
||||||
DDKAPI
|
DDKAPI
|
||||||
KeQueryPerformanceCounter(
|
KeQueryPerformanceCounter(
|
||||||
|
@ -8022,7 +8118,7 @@ KeRegisterBugCheckCallback(
|
||||||
IN ULONG Length,
|
IN ULONG Length,
|
||||||
IN PUCHAR Component);
|
IN PUCHAR Component);
|
||||||
|
|
||||||
NTOSAPI
|
NTHALAPI
|
||||||
VOID
|
VOID
|
||||||
DDKFASTAPI
|
DDKFASTAPI
|
||||||
KeReleaseInStackQueuedSpinLock(
|
KeReleaseInStackQueuedSpinLock(
|
||||||
|
@ -8057,13 +8153,6 @@ KeReleaseSemaphore(
|
||||||
IN LONG Adjustment,
|
IN LONG Adjustment,
|
||||||
IN BOOLEAN Wait);
|
IN BOOLEAN Wait);
|
||||||
|
|
||||||
NTOSAPI
|
|
||||||
VOID
|
|
||||||
DDKAPI
|
|
||||||
KeReleaseSpinLock(
|
|
||||||
IN PKSPIN_LOCK SpinLock,
|
|
||||||
IN KIRQL NewIrql);
|
|
||||||
|
|
||||||
NTOSAPI
|
NTOSAPI
|
||||||
PKDEVICE_QUEUE_ENTRY
|
PKDEVICE_QUEUE_ENTRY
|
||||||
DDKAPI
|
DDKAPI
|
||||||
|
@ -8167,7 +8256,7 @@ DDKFASTAPI
|
||||||
KeSetTimeUpdateNotifyRoutine(
|
KeSetTimeUpdateNotifyRoutine(
|
||||||
IN PTIME_UPDATE_NOTIFY_ROUTINE NotifyRoutine);
|
IN PTIME_UPDATE_NOTIFY_ROUTINE NotifyRoutine);
|
||||||
|
|
||||||
NTOSAPI
|
NTHALAPI
|
||||||
VOID
|
VOID
|
||||||
DDKAPI
|
DDKAPI
|
||||||
KeStallExecutionProcessor(
|
KeStallExecutionProcessor(
|
||||||
|
@ -8216,18 +8305,24 @@ KeWaitForSingleObject(
|
||||||
|
|
||||||
#if defined(_X86_)
|
#if defined(_X86_)
|
||||||
|
|
||||||
NTOSAPI
|
NTHALAPI
|
||||||
VOID
|
VOID
|
||||||
FASTCALL
|
FASTCALL
|
||||||
KfLowerIrql(
|
KfLowerIrql(
|
||||||
IN KIRQL NewIrql);
|
IN KIRQL NewIrql);
|
||||||
|
|
||||||
NTOSAPI
|
NTHALAPI
|
||||||
KIRQL
|
KIRQL
|
||||||
FASTCALL
|
FASTCALL
|
||||||
KfRaiseIrql(
|
KfRaiseIrql(
|
||||||
IN KIRQL NewIrql);
|
IN KIRQL NewIrql);
|
||||||
|
|
||||||
|
NTHALAPI
|
||||||
|
KIRQL
|
||||||
|
DDKAPI
|
||||||
|
KeRaiseIrqlToDpcLevel(
|
||||||
|
VOID);
|
||||||
|
|
||||||
#define KeLowerIrql(a) KfLowerIrql(a)
|
#define KeLowerIrql(a) KfLowerIrql(a)
|
||||||
#define KeRaiseIrql(a,b) *(b) = KfRaiseIrql(a)
|
#define KeRaiseIrql(a,b) *(b) = KfRaiseIrql(a)
|
||||||
|
|
||||||
|
@ -8245,14 +8340,14 @@ DDKAPI
|
||||||
KeRaiseIrql(
|
KeRaiseIrql(
|
||||||
IN KIRQL NewIrql);
|
IN KIRQL NewIrql);
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
NTOSAPI
|
NTOSAPI
|
||||||
KIRQL
|
KIRQL
|
||||||
DDKAPI
|
DDKAPI
|
||||||
KeRaiseIrqlToDpcLevel(
|
KeRaiseIrqlToDpcLevel(
|
||||||
VOID);
|
VOID);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
/** Memory manager routines **/
|
/** Memory manager routines **/
|
||||||
|
|
||||||
NTOSAPI
|
NTOSAPI
|
||||||
|
@ -9742,11 +9837,22 @@ KeRosDumpStackFrames ( PULONG Frame, ULONG FrameCount );
|
||||||
|
|
||||||
#endif /* !DBG */
|
#endif /* !DBG */
|
||||||
|
|
||||||
|
#if defined(_NTDDK_) || defined(_NTIFS_) || defined(_NTHAL_) || defined(_WDMDDK_) || defined(_NTOSP_)
|
||||||
|
|
||||||
extern NTOSAPI PBOOLEAN KdDebuggerNotPresent;
|
extern NTOSAPI PBOOLEAN KdDebuggerNotPresent;
|
||||||
extern NTOSAPI PBOOLEAN KdDebuggerEnabled;
|
extern NTOSAPI PBOOLEAN KdDebuggerEnabled;
|
||||||
#define KD_DEBUGGER_ENABLED *KdDebuggerEnabled
|
#define KD_DEBUGGER_ENABLED *KdDebuggerEnabled
|
||||||
#define KD_DEBUGGER_NOT_PRESENT *KdDebuggerNotPresent
|
#define KD_DEBUGGER_NOT_PRESENT *KdDebuggerNotPresent
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
extern BOOLEAN KdDebuggerNotPresent;
|
||||||
|
extern BOOLEAN KdDebuggerEnabled;
|
||||||
|
#define KD_DEBUGGER_ENABLED KdDebuggerEnabled
|
||||||
|
#define KD_DEBUGGER_NOT_PRESENT KdDebuggerNotPresent
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -182,7 +182,22 @@ ExInterlockedIncrementLong(
|
||||||
IN PLONG Addend,
|
IN PLONG Addend,
|
||||||
IN PKSPIN_LOCK Lock);
|
IN PKSPIN_LOCK Lock);
|
||||||
|
|
||||||
NTOSAPI
|
NTHALAPI
|
||||||
|
VOID
|
||||||
|
DDKAPI
|
||||||
|
HalAcquireDisplayOwnership(
|
||||||
|
IN PHAL_RESET_DISPLAY_PARAMETERS ResetDisplayParameters);
|
||||||
|
|
||||||
|
NTHALAPI
|
||||||
|
NTSTATUS
|
||||||
|
DDKAPI
|
||||||
|
HalAllocateAdapterChannel(
|
||||||
|
IN PADAPTER_OBJECT AdapterObject,
|
||||||
|
IN PWAIT_CONTEXT_BLOCK Wcb,
|
||||||
|
IN ULONG NumberOfMapRegisters,
|
||||||
|
IN PDRIVER_CONTROL ExecutionRoutine);
|
||||||
|
|
||||||
|
NTHALAPI
|
||||||
PVOID
|
PVOID
|
||||||
DDKAPI
|
DDKAPI
|
||||||
HalAllocateCommonBuffer(
|
HalAllocateCommonBuffer(
|
||||||
|
@ -191,7 +206,7 @@ HalAllocateCommonBuffer(
|
||||||
OUT PPHYSICAL_ADDRESS LogicalAddress,
|
OUT PPHYSICAL_ADDRESS LogicalAddress,
|
||||||
IN BOOLEAN CacheEnabled);
|
IN BOOLEAN CacheEnabled);
|
||||||
|
|
||||||
NTOSAPI
|
NTHALAPI
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
DDKAPI
|
DDKAPI
|
||||||
HalAssignSlotResources(
|
HalAssignSlotResources(
|
||||||
|
@ -204,7 +219,7 @@ HalAssignSlotResources(
|
||||||
IN ULONG SlotNumber,
|
IN ULONG SlotNumber,
|
||||||
IN OUT PCM_RESOURCE_LIST *AllocatedResources);
|
IN OUT PCM_RESOURCE_LIST *AllocatedResources);
|
||||||
|
|
||||||
NTOSAPI
|
NTHALAPI
|
||||||
VOID
|
VOID
|
||||||
DDKAPI
|
DDKAPI
|
||||||
HalFreeCommonBuffer(
|
HalFreeCommonBuffer(
|
||||||
|
@ -214,14 +229,14 @@ HalFreeCommonBuffer(
|
||||||
IN PVOID VirtualAddress,
|
IN PVOID VirtualAddress,
|
||||||
IN BOOLEAN CacheEnabled);
|
IN BOOLEAN CacheEnabled);
|
||||||
|
|
||||||
NTOSAPI
|
NTHALAPI
|
||||||
PADAPTER_OBJECT
|
PADAPTER_OBJECT
|
||||||
DDKAPI
|
DDKAPI
|
||||||
HalGetAdapter(
|
HalGetAdapter(
|
||||||
IN PDEVICE_DESCRIPTION DeviceDescription,
|
IN PDEVICE_DESCRIPTION DeviceDescription,
|
||||||
IN OUT PULONG NumberOfMapRegisters);
|
IN OUT PULONG NumberOfMapRegisters);
|
||||||
|
|
||||||
NTOSAPI
|
NTHALAPI
|
||||||
ULONG
|
ULONG
|
||||||
DDKAPI
|
DDKAPI
|
||||||
HalGetBusData(
|
HalGetBusData(
|
||||||
|
@ -231,7 +246,7 @@ HalGetBusData(
|
||||||
IN PVOID Buffer,
|
IN PVOID Buffer,
|
||||||
IN ULONG Length);
|
IN ULONG Length);
|
||||||
|
|
||||||
NTOSAPI
|
NTHALAPI
|
||||||
ULONG
|
ULONG
|
||||||
DDKAPI
|
DDKAPI
|
||||||
HalGetBusDataByOffset(
|
HalGetBusDataByOffset(
|
||||||
|
@ -242,13 +257,13 @@ HalGetBusDataByOffset(
|
||||||
IN ULONG Offset,
|
IN ULONG Offset,
|
||||||
IN ULONG Length);
|
IN ULONG Length);
|
||||||
|
|
||||||
NTOSAPI
|
NTHALAPI
|
||||||
ULONG
|
ULONG
|
||||||
DDKAPI
|
DDKAPI
|
||||||
HalGetDmaAlignmentRequirement(
|
HalGetDmaAlignmentRequirement(
|
||||||
VOID);
|
VOID);
|
||||||
|
|
||||||
NTOSAPI
|
NTHALAPI
|
||||||
ULONG
|
ULONG
|
||||||
DDKAPI
|
DDKAPI
|
||||||
HalGetInterruptVector(
|
HalGetInterruptVector(
|
||||||
|
@ -259,13 +274,13 @@ HalGetInterruptVector(
|
||||||
OUT PKIRQL Irql,
|
OUT PKIRQL Irql,
|
||||||
OUT PKAFFINITY Affinity);
|
OUT PKAFFINITY Affinity);
|
||||||
|
|
||||||
NTOSAPI
|
NTHALAPI
|
||||||
ULONG
|
ULONG
|
||||||
DDKAPI
|
DDKAPI
|
||||||
HalReadDmaCounter(
|
HalReadDmaCounter(
|
||||||
IN PADAPTER_OBJECT AdapterObject);
|
IN PADAPTER_OBJECT AdapterObject);
|
||||||
|
|
||||||
NTOSAPI
|
NTHALAPI
|
||||||
ULONG
|
ULONG
|
||||||
DDKAPI
|
DDKAPI
|
||||||
HalSetBusData(
|
HalSetBusData(
|
||||||
|
@ -275,7 +290,7 @@ HalSetBusData(
|
||||||
IN PVOID Buffer,
|
IN PVOID Buffer,
|
||||||
IN ULONG Length);
|
IN ULONG Length);
|
||||||
|
|
||||||
NTOSAPI
|
NTHALAPI
|
||||||
ULONG
|
ULONG
|
||||||
DDKAPI
|
DDKAPI
|
||||||
HalSetBusDataByOffset(
|
HalSetBusDataByOffset(
|
||||||
|
@ -286,7 +301,7 @@ HalSetBusDataByOffset(
|
||||||
IN ULONG Offset,
|
IN ULONG Offset,
|
||||||
IN ULONG Length);
|
IN ULONG Length);
|
||||||
|
|
||||||
NTOSAPI
|
NTHALAPI
|
||||||
BOOLEAN
|
BOOLEAN
|
||||||
DDKAPI
|
DDKAPI
|
||||||
HalTranslateBusAddress(
|
HalTranslateBusAddress(
|
||||||
|
@ -324,7 +339,7 @@ IoAttachDeviceByPointer(
|
||||||
IN PDEVICE_OBJECT SourceDevice,
|
IN PDEVICE_OBJECT SourceDevice,
|
||||||
IN PDEVICE_OBJECT TargetDevice);
|
IN PDEVICE_OBJECT TargetDevice);
|
||||||
|
|
||||||
NTOSAPI
|
NTHALAPI
|
||||||
BOOLEAN
|
BOOLEAN
|
||||||
DDKAPI
|
DDKAPI
|
||||||
IoFlushAdapterBuffers(
|
IoFlushAdapterBuffers(
|
||||||
|
@ -335,13 +350,13 @@ IoFlushAdapterBuffers(
|
||||||
IN ULONG Length,
|
IN ULONG Length,
|
||||||
IN BOOLEAN WriteToDevice);
|
IN BOOLEAN WriteToDevice);
|
||||||
|
|
||||||
NTOSAPI
|
NTHALAPI
|
||||||
VOID
|
VOID
|
||||||
DDKAPI
|
DDKAPI
|
||||||
IoFreeAdapterChannel(
|
IoFreeAdapterChannel(
|
||||||
IN PADAPTER_OBJECT AdapterObject);
|
IN PADAPTER_OBJECT AdapterObject);
|
||||||
|
|
||||||
NTOSAPI
|
NTHALAPI
|
||||||
VOID
|
VOID
|
||||||
DDKAPI
|
DDKAPI
|
||||||
IoFreeMapRegisters(
|
IoFreeMapRegisters(
|
||||||
|
@ -349,7 +364,7 @@ IoFreeMapRegisters(
|
||||||
IN PVOID MapRegisterBase,
|
IN PVOID MapRegisterBase,
|
||||||
IN ULONG NumberOfMapRegisters);
|
IN ULONG NumberOfMapRegisters);
|
||||||
|
|
||||||
NTOSAPI
|
NTHALAPI
|
||||||
PHYSICAL_ADDRESS
|
PHYSICAL_ADDRESS
|
||||||
DDKAPI
|
DDKAPI
|
||||||
IoMapTransfer(
|
IoMapTransfer(
|
||||||
|
|
Loading…
Reference in a new issue