mirror of
https://github.com/reactos/reactos.git
synced 2025-05-19 17:14:32 +00:00
Fix some NDK issues when attempting to use it from kmode, and fix some winddk/ntifs inconsistencies aswell (move PFILE_QUOTA_INFORMATION and remove all RtlRange functions from the DDK, plus add PPEB)
svn path=/trunk/; revision=16214
This commit is contained in:
parent
3e604d23e7
commit
164b25c391
9 changed files with 256 additions and 374 deletions
|
@ -1,12 +1,10 @@
|
|||
#ifndef __INCLUDE_NAPI_CORE_H
|
||||
#define __INCLUDE_NAPI_CORE_H
|
||||
|
||||
#include "../ntoskrnl/include/internal/ke.h"
|
||||
#include <ddk/ntddscsi.h>
|
||||
|
||||
#define MM_CORE_DUMP_HEADER_MAGIC (0xdeafbead)
|
||||
#define MM_CORE_DUMP_HEADER_VERSION (0x1)
|
||||
|
||||
#include <ddk/ntddscsi.h>
|
||||
typedef struct _MM_CORE_DUMP_HEADER
|
||||
{
|
||||
ULONG Magic;
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
#define _EXTYPES_H
|
||||
|
||||
/* DEPENDENCIES **************************************************************/
|
||||
#include "ketypes.h"
|
||||
|
||||
/* EXPORTED DATA *************************************************************/
|
||||
extern POBJECT_TYPE NTOSAPI ExIoCompletionType;
|
||||
|
@ -24,6 +25,8 @@ extern NTOSAPI POBJECT_TYPE ExTimerType;
|
|||
|
||||
/* TYPES *********************************************************************/
|
||||
|
||||
/* You'll need the IFS for these, so let's not force everyone to have it */
|
||||
#ifdef _NTIFS_
|
||||
typedef struct _EX_QUEUE_WORKER_INFO
|
||||
{
|
||||
UCHAR QueueDisabled:1;
|
||||
|
@ -41,6 +44,7 @@ typedef struct _EX_WORK_QUEUE
|
|||
ULONG QueueDepthLastPass;
|
||||
EX_QUEUE_WORKER_INFO Info;
|
||||
} EX_WORK_QUEUE, *PEX_WORK_QUEUE;
|
||||
#endif
|
||||
|
||||
typedef struct _HANDLE_TABLE_ENTRY_INFO
|
||||
{
|
||||
|
|
|
@ -10,199 +10,14 @@
|
|||
#define _RTLFUNCS_H
|
||||
|
||||
/* DEPENDENCIES **************************************************************/
|
||||
#include <ndk/rtltypes.h>
|
||||
#include <ndk/pstypes.h>
|
||||
#include "rtltypes.h"
|
||||
#include "pstypes.h"
|
||||
#include <ddk/ntnls.h>
|
||||
|
||||
/* PROTOTYPES ****************************************************************/
|
||||
|
||||
/* FIXME: FILE NEEDS SOME ALPHABETIZING AND REGROUP */
|
||||
|
||||
/* List Macros */
|
||||
static __inline
|
||||
VOID
|
||||
InitializeListHead(
|
||||
IN PLIST_ENTRY ListHead)
|
||||
{
|
||||
ListHead->Flink = ListHead->Blink = ListHead;
|
||||
}
|
||||
|
||||
static __inline
|
||||
VOID
|
||||
InsertHeadList(
|
||||
IN PLIST_ENTRY ListHead,
|
||||
IN PLIST_ENTRY Entry)
|
||||
{
|
||||
PLIST_ENTRY OldFlink;
|
||||
OldFlink = ListHead->Flink;
|
||||
Entry->Flink = OldFlink;
|
||||
Entry->Blink = ListHead;
|
||||
OldFlink->Blink = Entry;
|
||||
ListHead->Flink = Entry;
|
||||
}
|
||||
|
||||
static __inline
|
||||
VOID
|
||||
InsertTailList(
|
||||
IN PLIST_ENTRY ListHead,
|
||||
IN PLIST_ENTRY Entry)
|
||||
{
|
||||
PLIST_ENTRY OldBlink;
|
||||
OldBlink = ListHead->Blink;
|
||||
Entry->Flink = ListHead;
|
||||
Entry->Blink = OldBlink;
|
||||
OldBlink->Flink = Entry;
|
||||
ListHead->Blink = Entry;
|
||||
}
|
||||
|
||||
#define IsListEmpty(ListHead) \
|
||||
((ListHead)->Flink == (ListHead))
|
||||
|
||||
#define PopEntryList(ListHead) \
|
||||
(ListHead)->Next; \
|
||||
{ \
|
||||
PSINGLE_LIST_ENTRY _FirstEntry; \
|
||||
_FirstEntry = (ListHead)->Next; \
|
||||
if (_FirstEntry != NULL) \
|
||||
(ListHead)->Next = _FirstEntry->Next; \
|
||||
}
|
||||
|
||||
#define PushEntryList(_ListHead, _Entry) \
|
||||
(_Entry)->Next = (_ListHead)->Next; \
|
||||
(_ListHead)->Next = (_Entry); \
|
||||
|
||||
static __inline
|
||||
BOOLEAN
|
||||
RemoveEntryList(
|
||||
IN PLIST_ENTRY Entry)
|
||||
{
|
||||
PLIST_ENTRY OldFlink;
|
||||
PLIST_ENTRY OldBlink;
|
||||
|
||||
OldFlink = Entry->Flink;
|
||||
OldBlink = Entry->Blink;
|
||||
OldFlink->Blink = OldBlink;
|
||||
OldBlink->Flink = OldFlink;
|
||||
return (OldFlink == OldBlink);
|
||||
}
|
||||
|
||||
static __inline
|
||||
PLIST_ENTRY
|
||||
RemoveHeadList(
|
||||
IN PLIST_ENTRY ListHead)
|
||||
{
|
||||
PLIST_ENTRY Flink;
|
||||
PLIST_ENTRY Entry;
|
||||
|
||||
Entry = ListHead->Flink;
|
||||
Flink = Entry->Flink;
|
||||
ListHead->Flink = Flink;
|
||||
Flink->Blink = ListHead;
|
||||
return Entry;
|
||||
}
|
||||
|
||||
static __inline
|
||||
PLIST_ENTRY
|
||||
RemoveTailList(
|
||||
IN PLIST_ENTRY ListHead)
|
||||
{
|
||||
PLIST_ENTRY Blink;
|
||||
PLIST_ENTRY Entry;
|
||||
|
||||
Entry = ListHead->Blink;
|
||||
Blink = Entry->Blink;
|
||||
ListHead->Blink = Blink;
|
||||
Blink->Flink = ListHead;
|
||||
return Entry;
|
||||
}
|
||||
|
||||
#define IsFirstEntry(ListHead, Entry) \
|
||||
((ListHead)->Flink == Entry)
|
||||
|
||||
#define IsLastEntry(ListHead, Entry) \
|
||||
((ListHead)->Blink == Entry)
|
||||
|
||||
#define InsertAscendingListFIFO(ListHead, Type, ListEntryField, NewEntry, SortField)\
|
||||
{\
|
||||
PLIST_ENTRY current;\
|
||||
\
|
||||
current = (ListHead)->Flink;\
|
||||
while (current != (ListHead))\
|
||||
{\
|
||||
if (CONTAINING_RECORD(current, Type, ListEntryField)->SortField >\
|
||||
(NewEntry)->SortField)\
|
||||
{\
|
||||
break;\
|
||||
}\
|
||||
current = current->Flink;\
|
||||
}\
|
||||
\
|
||||
InsertTailList(current, &((NewEntry)->ListEntryField));\
|
||||
}
|
||||
|
||||
#define InsertDescendingListFIFO(ListHead, Type, ListEntryField, NewEntry, SortField)\
|
||||
{\
|
||||
PLIST_ENTRY current;\
|
||||
\
|
||||
current = (ListHead)->Flink;\
|
||||
while (current != (ListHead))\
|
||||
{\
|
||||
if (CONTAINING_RECORD(current, Type, ListEntryField)->SortField <\
|
||||
(NewEntry)->SortField)\
|
||||
{\
|
||||
break;\
|
||||
}\
|
||||
current = current->Flink;\
|
||||
}\
|
||||
\
|
||||
InsertTailList(current, &((NewEntry)->ListEntryField));\
|
||||
}
|
||||
|
||||
#define InsertAscendingList(ListHead, Type, ListEntryField, NewEntry, SortField)\
|
||||
{\
|
||||
PLIST_ENTRY current;\
|
||||
\
|
||||
current = (ListHead)->Flink;\
|
||||
while (current != (ListHead))\
|
||||
{\
|
||||
if (CONTAINING_RECORD(current, Type, ListEntryField)->SortField >=\
|
||||
(NewEntry)->SortField)\
|
||||
{\
|
||||
break;\
|
||||
}\
|
||||
current = current->Flink;\
|
||||
}\
|
||||
\
|
||||
InsertTailList(current, &((NewEntry)->ListEntryField));\
|
||||
}
|
||||
|
||||
#define InsertDescendingList(ListHead, Type, ListEntryField, NewEntry, SortField)\
|
||||
{\
|
||||
PLIST_ENTRY current;\
|
||||
\
|
||||
current = (ListHead)->Flink;\
|
||||
while (current != (ListHead))\
|
||||
{\
|
||||
if (CONTAINING_RECORD(current, Type, ListEntryField)->SortField <=\
|
||||
(NewEntry)->SortField)\
|
||||
{\
|
||||
break;\
|
||||
}\
|
||||
current = current->Flink;\
|
||||
}\
|
||||
\
|
||||
InsertTailList(current, &((NewEntry)->ListEntryField));\
|
||||
}
|
||||
|
||||
/*
|
||||
* Constant String Macro
|
||||
*/
|
||||
#define RTL_CONSTANT_STRING(__SOURCE_STRING__) \
|
||||
{ \
|
||||
sizeof(__SOURCE_STRING__) - sizeof((__SOURCE_STRING__)[0]), \
|
||||
sizeof(__SOURCE_STRING__), \
|
||||
(__SOURCE_STRING__) \
|
||||
}
|
||||
|
||||
/*
|
||||
* Error and Exception Functions
|
||||
*/
|
||||
|
|
|
@ -381,6 +381,12 @@ typedef struct _RTL_ATOM_TABLE
|
|||
SYSTEMTIME DaylightDate;
|
||||
LONG DaylightBias;
|
||||
} TIME_ZONE_INFORMATION, *PTIME_ZONE_INFORMATION, *LPTIME_ZONE_INFORMATION;
|
||||
|
||||
typedef enum _ACL_INFORMATION_CLASS
|
||||
{
|
||||
AclRevisionInformation = 1,
|
||||
AclSizeInformation
|
||||
} ACL_INFORMATION_CLASS;
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
|
@ -184,6 +184,192 @@
|
|||
#define VER_CONDITION_MASK 7
|
||||
#define VER_NUM_BITS_PER_CONDITION_MASK 3
|
||||
|
||||
/* List Macros */
|
||||
static __inline
|
||||
VOID
|
||||
InitializeListHead(
|
||||
IN PLIST_ENTRY ListHead)
|
||||
{
|
||||
ListHead->Flink = ListHead->Blink = ListHead;
|
||||
}
|
||||
|
||||
static __inline
|
||||
VOID
|
||||
InsertHeadList(
|
||||
IN PLIST_ENTRY ListHead,
|
||||
IN PLIST_ENTRY Entry)
|
||||
{
|
||||
PLIST_ENTRY OldFlink;
|
||||
OldFlink = ListHead->Flink;
|
||||
Entry->Flink = OldFlink;
|
||||
Entry->Blink = ListHead;
|
||||
OldFlink->Blink = Entry;
|
||||
ListHead->Flink = Entry;
|
||||
}
|
||||
|
||||
static __inline
|
||||
VOID
|
||||
InsertTailList(
|
||||
IN PLIST_ENTRY ListHead,
|
||||
IN PLIST_ENTRY Entry)
|
||||
{
|
||||
PLIST_ENTRY OldBlink;
|
||||
OldBlink = ListHead->Blink;
|
||||
Entry->Flink = ListHead;
|
||||
Entry->Blink = OldBlink;
|
||||
OldBlink->Flink = Entry;
|
||||
ListHead->Blink = Entry;
|
||||
}
|
||||
|
||||
#define IsListEmpty(ListHead) \
|
||||
((ListHead)->Flink == (ListHead))
|
||||
|
||||
#define PopEntryList(ListHead) \
|
||||
(ListHead)->Next; \
|
||||
{ \
|
||||
PSINGLE_LIST_ENTRY _FirstEntry; \
|
||||
_FirstEntry = (ListHead)->Next; \
|
||||
if (_FirstEntry != NULL) \
|
||||
(ListHead)->Next = _FirstEntry->Next; \
|
||||
}
|
||||
|
||||
#define PushEntryList(_ListHead, _Entry) \
|
||||
(_Entry)->Next = (_ListHead)->Next; \
|
||||
(_ListHead)->Next = (_Entry); \
|
||||
|
||||
static __inline
|
||||
BOOLEAN
|
||||
RemoveEntryList(
|
||||
IN PLIST_ENTRY Entry)
|
||||
{
|
||||
PLIST_ENTRY OldFlink;
|
||||
PLIST_ENTRY OldBlink;
|
||||
|
||||
OldFlink = Entry->Flink;
|
||||
OldBlink = Entry->Blink;
|
||||
OldFlink->Blink = OldBlink;
|
||||
OldBlink->Flink = OldFlink;
|
||||
return (OldFlink == OldBlink);
|
||||
}
|
||||
|
||||
static __inline
|
||||
PLIST_ENTRY
|
||||
RemoveHeadList(
|
||||
IN PLIST_ENTRY ListHead)
|
||||
{
|
||||
PLIST_ENTRY Flink;
|
||||
PLIST_ENTRY Entry;
|
||||
|
||||
Entry = ListHead->Flink;
|
||||
Flink = Entry->Flink;
|
||||
ListHead->Flink = Flink;
|
||||
Flink->Blink = ListHead;
|
||||
return Entry;
|
||||
}
|
||||
|
||||
static __inline
|
||||
PLIST_ENTRY
|
||||
RemoveTailList(
|
||||
IN PLIST_ENTRY ListHead)
|
||||
{
|
||||
PLIST_ENTRY Blink;
|
||||
PLIST_ENTRY Entry;
|
||||
|
||||
Entry = ListHead->Blink;
|
||||
Blink = Entry->Blink;
|
||||
ListHead->Blink = Blink;
|
||||
Blink->Flink = ListHead;
|
||||
return Entry;
|
||||
}
|
||||
|
||||
#define IsFirstEntry(ListHead, Entry) \
|
||||
((ListHead)->Flink == Entry)
|
||||
|
||||
#define IsLastEntry(ListHead, Entry) \
|
||||
((ListHead)->Blink == Entry)
|
||||
|
||||
#define InsertAscendingListFIFO(ListHead, Type, ListEntryField, NewEntry, SortField)\
|
||||
{\
|
||||
PLIST_ENTRY current;\
|
||||
\
|
||||
current = (ListHead)->Flink;\
|
||||
while (current != (ListHead))\
|
||||
{\
|
||||
if (CONTAINING_RECORD(current, Type, ListEntryField)->SortField >\
|
||||
(NewEntry)->SortField)\
|
||||
{\
|
||||
break;\
|
||||
}\
|
||||
current = current->Flink;\
|
||||
}\
|
||||
\
|
||||
InsertTailList(current, &((NewEntry)->ListEntryField));\
|
||||
}
|
||||
|
||||
#define InsertDescendingListFIFO(ListHead, Type, ListEntryField, NewEntry, SortField)\
|
||||
{\
|
||||
PLIST_ENTRY current;\
|
||||
\
|
||||
current = (ListHead)->Flink;\
|
||||
while (current != (ListHead))\
|
||||
{\
|
||||
if (CONTAINING_RECORD(current, Type, ListEntryField)->SortField <\
|
||||
(NewEntry)->SortField)\
|
||||
{\
|
||||
break;\
|
||||
}\
|
||||
current = current->Flink;\
|
||||
}\
|
||||
\
|
||||
InsertTailList(current, &((NewEntry)->ListEntryField));\
|
||||
}
|
||||
|
||||
#define InsertAscendingList(ListHead, Type, ListEntryField, NewEntry, SortField)\
|
||||
{\
|
||||
PLIST_ENTRY current;\
|
||||
\
|
||||
current = (ListHead)->Flink;\
|
||||
while (current != (ListHead))\
|
||||
{\
|
||||
if (CONTAINING_RECORD(current, Type, ListEntryField)->SortField >=\
|
||||
(NewEntry)->SortField)\
|
||||
{\
|
||||
break;\
|
||||
}\
|
||||
current = current->Flink;\
|
||||
}\
|
||||
\
|
||||
InsertTailList(current, &((NewEntry)->ListEntryField));\
|
||||
}
|
||||
|
||||
#define InsertDescendingList(ListHead, Type, ListEntryField, NewEntry, SortField)\
|
||||
{\
|
||||
PLIST_ENTRY current;\
|
||||
\
|
||||
current = (ListHead)->Flink;\
|
||||
while (current != (ListHead))\
|
||||
{\
|
||||
if (CONTAINING_RECORD(current, Type, ListEntryField)->SortField <=\
|
||||
(NewEntry)->SortField)\
|
||||
{\
|
||||
break;\
|
||||
}\
|
||||
current = current->Flink;\
|
||||
}\
|
||||
\
|
||||
InsertTailList(current, &((NewEntry)->ListEntryField));\
|
||||
}
|
||||
|
||||
/*
|
||||
* Constant String Macro
|
||||
*/
|
||||
#define RTL_CONSTANT_STRING(__SOURCE_STRING__) \
|
||||
{ \
|
||||
sizeof(__SOURCE_STRING__) - sizeof((__SOURCE_STRING__)[0]), \
|
||||
sizeof(__SOURCE_STRING__), \
|
||||
(__SOURCE_STRING__) \
|
||||
}
|
||||
|
||||
/* ENUMERATIONS **************************************************************/
|
||||
|
||||
/* Kernel Shared Data Values */
|
||||
|
@ -283,23 +469,6 @@ typedef enum _INTERFACE_TYPE
|
|||
MaximumInterfaceType
|
||||
}INTERFACE_TYPE, *PINTERFACE_TYPE;
|
||||
|
||||
typedef enum _PNP_VETO_TYPE
|
||||
{
|
||||
PNP_VetoTypeUnknown,
|
||||
PNP_VetoLegacyDevice,
|
||||
PNP_VetoPendingClose,
|
||||
PNP_VetoWindowsApp,
|
||||
PNP_VetoWindowsService,
|
||||
PNP_VetoOutstandingOpen,
|
||||
PNP_VetoDevice,
|
||||
PNP_VetoDriver,
|
||||
PNP_VetoIllegalDeviceRequest,
|
||||
PNP_VetoInsufficientPower,
|
||||
PNP_VetoNonDisableable,
|
||||
PNP_VetoLegacyDriver,
|
||||
PNP_VetoInsufficientRights
|
||||
} PNP_VETO_TYPE, *PPNP_VETO_TYPE;
|
||||
|
||||
typedef enum _MODE
|
||||
{
|
||||
KernelMode,
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
|
||||
/* DEPENDENCIES **************************************************************/
|
||||
#include "rtltypes.h"
|
||||
#include <ddk/cfg.h>
|
||||
|
||||
/* EXPORTED DATA *************************************************************/
|
||||
|
||||
|
@ -92,6 +93,8 @@ typedef enum _SYSTEM_DOCK_STATE
|
|||
/*
|
||||
* Process (extra ones not defined in DDK)
|
||||
*/
|
||||
/* FIXME: Temporary hack until all KMODE stuf are NDK */
|
||||
#ifndef __WINDDK_H
|
||||
typedef enum _PROCESS_INFORMATION_FLAGS
|
||||
{
|
||||
ProcessUnknown33 = 33,
|
||||
|
@ -99,6 +102,7 @@ typedef enum _PROCESS_INFORMATION_FLAGS
|
|||
ProcessUnknown35,
|
||||
ProcessCookie
|
||||
} PROCESS_INFORMATION_FLAGS;
|
||||
#endif
|
||||
|
||||
/*
|
||||
* System
|
||||
|
|
|
@ -40,6 +40,7 @@
|
|||
#define VER_NT_SERVER 0x0000003
|
||||
*/
|
||||
|
||||
|
||||
typedef struct _CONTROLLER_OBJECT
|
||||
{
|
||||
CSHORT Type;
|
||||
|
@ -440,4 +441,44 @@ typedef NTSTATUS
|
|||
(*PHEAP_ENUMERATION_ROUTINE)(IN PVOID HeapHandle,
|
||||
IN PVOID UserParam);
|
||||
|
||||
|
||||
#define RTL_RANGE_LIST_ADD_IF_CONFLICT 0x00000001
|
||||
#define RTL_RANGE_LIST_ADD_SHARED 0x00000002
|
||||
|
||||
#define RTL_RANGE_LIST_SHARED_OK 0x00000001
|
||||
#define RTL_RANGE_LIST_NULL_CONFLICT_OK 0x00000002
|
||||
|
||||
#define RTL_RANGE_LIST_MERGE_IF_CONFLICT RTL_RANGE_LIST_ADD_IF_CONFLICT
|
||||
|
||||
typedef struct _RTL_RANGE {
|
||||
ULONGLONG Start;
|
||||
ULONGLONG End;
|
||||
PVOID UserData;
|
||||
PVOID Owner;
|
||||
UCHAR Attributes;
|
||||
UCHAR Flags;
|
||||
} RTL_RANGE, *PRTL_RANGE;
|
||||
|
||||
#define RTL_RANGE_SHARED 0x01
|
||||
#define RTL_RANGE_CONFLICT 0x02
|
||||
|
||||
typedef struct _RTL_RANGE_LIST {
|
||||
LIST_ENTRY ListHead;
|
||||
ULONG Flags;
|
||||
ULONG Count;
|
||||
ULONG Stamp;
|
||||
} RTL_RANGE_LIST, *PRTL_RANGE_LIST;
|
||||
|
||||
typedef struct _RANGE_LIST_ITERATOR {
|
||||
PLIST_ENTRY RangeListHead;
|
||||
PLIST_ENTRY MergedHead;
|
||||
PVOID Current;
|
||||
ULONG Stamp;
|
||||
} RTL_RANGE_LIST_ITERATOR, *PRTL_RANGE_LIST_ITERATOR;
|
||||
|
||||
typedef BOOLEAN
|
||||
(STDCALL *PRTL_CONFLICT_RANGE_CALLBACK)(
|
||||
IN PVOID Context,
|
||||
IN PRTL_RANGE Range);
|
||||
|
||||
#endif /* __DDK_RTLTYPES_H */
|
||||
|
|
|
@ -1163,16 +1163,6 @@ typedef struct _FILE_PIPE_WAIT_FOR_BUFFER {
|
|||
WCHAR Name[1];
|
||||
} FILE_PIPE_WAIT_FOR_BUFFER, *PFILE_PIPE_WAIT_FOR_BUFFER;
|
||||
|
||||
typedef struct _FILE_QUOTA_INFORMATION {
|
||||
ULONG NextEntryOffset;
|
||||
ULONG SidLength;
|
||||
LARGE_INTEGER ChangeTime;
|
||||
LARGE_INTEGER QuotaUsed;
|
||||
LARGE_INTEGER QuotaThreshold;
|
||||
LARGE_INTEGER QuotaLimit;
|
||||
SID Sid;
|
||||
} FILE_QUOTA_INFORMATION, *PFILE_QUOTA_INFORMATION;
|
||||
|
||||
typedef struct _FILE_RENAME_INFORMATION {
|
||||
BOOLEAN ReplaceIfExists;
|
||||
HANDLE RootDirectory;
|
||||
|
|
|
@ -186,6 +186,7 @@ typedef struct _HAL_DISPATCH_TABLE *PHAL_DISPATCH_TABLE;
|
|||
typedef struct _HAL_PRIVATE_DISPATCH_TABLE *PHAL_PRIVATE_DISPATCH_TABLE;
|
||||
typedef struct _DEVICE_HANDLER_OBJECT *PDEVICE_HANDLER_OBJECT;
|
||||
typedef struct _BUS_HANDLER *PBUS_HANDLER;
|
||||
typedef struct _PEB *PPEB;
|
||||
typedef struct _ADAPTER_OBJECT *PADAPTER_OBJECT;
|
||||
|
||||
/* Constants */
|
||||
|
@ -2513,6 +2514,16 @@ typedef struct _FILE_DISPOSITION_INFORMATION {
|
|||
BOOLEAN DeleteFile;
|
||||
} FILE_DISPOSITION_INFORMATION, *PFILE_DISPOSITION_INFORMATION;
|
||||
|
||||
typedef struct _FILE_QUOTA_INFORMATION {
|
||||
ULONG NextEntryOffset;
|
||||
ULONG SidLength;
|
||||
LARGE_INTEGER ChangeTime;
|
||||
LARGE_INTEGER QuotaUsed;
|
||||
LARGE_INTEGER QuotaThreshold;
|
||||
LARGE_INTEGER QuotaLimit;
|
||||
SID Sid;
|
||||
} FILE_QUOTA_INFORMATION, *PFILE_QUOTA_INFORMATION;
|
||||
|
||||
typedef struct _FILE_END_OF_FILE_INFORMATION {
|
||||
LARGE_INTEGER EndOfFile;
|
||||
} FILE_END_OF_FILE_INFORMATION, *PFILE_END_OF_FILE_INFORMATION;
|
||||
|
@ -4372,45 +4383,6 @@ typedef struct _DRIVER_VERIFIER_THUNK_PAIRS {
|
|||
#define DRIVER_VERIFIER_TRACK_POOL_ALLOCATIONS 0x0008
|
||||
#define DRIVER_VERIFIER_IO_CHECKING 0x0010
|
||||
|
||||
#define RTL_RANGE_LIST_ADD_IF_CONFLICT 0x00000001
|
||||
#define RTL_RANGE_LIST_ADD_SHARED 0x00000002
|
||||
|
||||
#define RTL_RANGE_LIST_SHARED_OK 0x00000001
|
||||
#define RTL_RANGE_LIST_NULL_CONFLICT_OK 0x00000002
|
||||
|
||||
#define RTL_RANGE_LIST_MERGE_IF_CONFLICT RTL_RANGE_LIST_ADD_IF_CONFLICT
|
||||
|
||||
typedef struct _RTL_RANGE {
|
||||
ULONGLONG Start;
|
||||
ULONGLONG End;
|
||||
PVOID UserData;
|
||||
PVOID Owner;
|
||||
UCHAR Attributes;
|
||||
UCHAR Flags;
|
||||
} RTL_RANGE, *PRTL_RANGE;
|
||||
|
||||
#define RTL_RANGE_SHARED 0x01
|
||||
#define RTL_RANGE_CONFLICT 0x02
|
||||
|
||||
typedef struct _RTL_RANGE_LIST {
|
||||
LIST_ENTRY ListHead;
|
||||
ULONG Flags;
|
||||
ULONG Count;
|
||||
ULONG Stamp;
|
||||
} RTL_RANGE_LIST, *PRTL_RANGE_LIST;
|
||||
|
||||
typedef struct _RANGE_LIST_ITERATOR {
|
||||
PLIST_ENTRY RangeListHead;
|
||||
PLIST_ENTRY MergedHead;
|
||||
PVOID Current;
|
||||
ULONG Stamp;
|
||||
} RTL_RANGE_LIST_ITERATOR, *PRTL_RANGE_LIST_ITERATOR;
|
||||
|
||||
typedef BOOLEAN
|
||||
(DDKAPI *PRTL_CONFLICT_RANGE_CALLBACK)(
|
||||
IN PVOID Context,
|
||||
IN PRTL_RANGE Range);
|
||||
|
||||
#define HASH_STRING_ALGORITHM_DEFAULT 0
|
||||
#define HASH_STRING_ALGORITHM_X65599 1
|
||||
#define HASH_STRING_ALGORITHM_INVALID 0xffffffff
|
||||
|
@ -4912,18 +4884,6 @@ DDKAPI
|
|||
RtlAnsiStringToUnicodeSize(
|
||||
IN PANSI_STRING AnsiString);
|
||||
|
||||
NTOSAPI
|
||||
NTSTATUS
|
||||
DDKAPI
|
||||
RtlAddRange(
|
||||
IN OUT PRTL_RANGE_LIST RangeList,
|
||||
IN ULONGLONG Start,
|
||||
IN ULONGLONG End,
|
||||
IN UCHAR Attributes,
|
||||
IN ULONG Flags,
|
||||
IN PVOID UserData OPTIONAL,
|
||||
IN PVOID Owner OPTIONAL);
|
||||
|
||||
NTOSAPI
|
||||
NTSTATUS
|
||||
DDKAPI
|
||||
|
@ -5077,13 +5037,6 @@ RtlCopyMemory32(
|
|||
IN CONST VOID UNALIGNED *Source,
|
||||
IN ULONG Length);
|
||||
|
||||
NTOSAPI
|
||||
NTSTATUS
|
||||
DDKAPI
|
||||
RtlCopyRangeList(
|
||||
OUT PRTL_RANGE_LIST CopyRangeList,
|
||||
IN PRTL_RANGE_LIST RangeList);
|
||||
|
||||
NTOSAPI
|
||||
VOID
|
||||
DDKAPI
|
||||
|
@ -5112,22 +5065,6 @@ RtlCreateSecurityDescriptor(
|
|||
IN OUT PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
IN ULONG Revision);
|
||||
|
||||
NTOSAPI
|
||||
NTSTATUS
|
||||
DDKAPI
|
||||
RtlDeleteOwnersRanges(
|
||||
IN OUT PRTL_RANGE_LIST RangeList,
|
||||
IN PVOID Owner);
|
||||
|
||||
NTOSAPI
|
||||
NTSTATUS
|
||||
DDKAPI
|
||||
RtlDeleteRange(
|
||||
IN OUT PRTL_RANGE_LIST RangeList,
|
||||
IN ULONGLONG Start,
|
||||
IN ULONGLONG End,
|
||||
IN PVOID Owner);
|
||||
|
||||
NTOSAPI
|
||||
NTSTATUS
|
||||
DDKAPI
|
||||
|
@ -5254,21 +5191,6 @@ RtlFindNextForwardRunClear(
|
|||
IN ULONG FromIndex,
|
||||
OUT PULONG StartingRunIndex);
|
||||
|
||||
NTOSAPI
|
||||
NTSTATUS
|
||||
DDKAPI
|
||||
RtlFindRange(
|
||||
IN PRTL_RANGE_LIST RangeList,
|
||||
IN ULONGLONG Minimum,
|
||||
IN ULONGLONG Maximum,
|
||||
IN ULONG Length,
|
||||
IN ULONG Alignment,
|
||||
IN ULONG Flags,
|
||||
IN UCHAR AttributeAvailableMask,
|
||||
IN PVOID Context OPTIONAL,
|
||||
IN PRTL_CONFLICT_RANGE_CALLBACK Callback OPTIONAL,
|
||||
OUT PULONGLONG Start);
|
||||
|
||||
NTOSAPI
|
||||
ULONG
|
||||
DDKAPI
|
||||
|
@ -5291,12 +5213,6 @@ DDKAPI
|
|||
RtlFreeAnsiString(
|
||||
IN PANSI_STRING AnsiString);
|
||||
|
||||
NTOSAPI
|
||||
VOID
|
||||
DDKAPI
|
||||
RtlFreeRangeList(
|
||||
IN PRTL_RANGE_LIST RangeList);
|
||||
|
||||
NTOSAPI
|
||||
VOID
|
||||
DDKAPI
|
||||
|
@ -5316,32 +5232,6 @@ DDKAPI
|
|||
RtlGetVersion(
|
||||
IN OUT PRTL_OSVERSIONINFOW lpVersionInformation);
|
||||
|
||||
NTOSAPI
|
||||
NTSTATUS
|
||||
DDKAPI
|
||||
RtlGetFirstRange(
|
||||
IN PRTL_RANGE_LIST RangeList,
|
||||
OUT PRTL_RANGE_LIST_ITERATOR Iterator,
|
||||
OUT PRTL_RANGE *Range);
|
||||
|
||||
NTOSAPI
|
||||
NTSTATUS
|
||||
DDKAPI
|
||||
RtlGetNextRange(
|
||||
IN OUT PRTL_RANGE_LIST_ITERATOR Iterator,
|
||||
OUT PRTL_RANGE *Range,
|
||||
IN BOOLEAN MoveForwards);
|
||||
|
||||
#define FOR_ALL_RANGES(RangeList, Iterator, Current) \
|
||||
for (RtlGetFirstRange((RangeList), (Iterator), &(Current)); \
|
||||
(Current) != NULL; \
|
||||
RtlGetNextRange((Iterator), &(Current), TRUE))
|
||||
|
||||
#define FOR_ALL_RANGES_BACKWARDS(RangeList, Iterator, Current) \
|
||||
for (RtlGetLastRange((RangeList), (Iterator), &(Current)); \
|
||||
(Current) != NULL; \
|
||||
RtlGetNextRange((Iterator), &(Current), FALSE))
|
||||
|
||||
NTOSAPI
|
||||
NTSTATUS
|
||||
DDKAPI
|
||||
|
@ -5373,12 +5263,6 @@ RtlInitializeBitMap(
|
|||
IN PULONG BitMapBuffer,
|
||||
IN ULONG SizeOfBitMap);
|
||||
|
||||
NTOSAPI
|
||||
VOID
|
||||
DDKAPI
|
||||
RtlInitializeRangeList(
|
||||
IN OUT PRTL_RANGE_LIST RangeList);
|
||||
|
||||
NTOSAPI
|
||||
VOID
|
||||
DDKAPI
|
||||
|
@ -5417,26 +5301,6 @@ RtlIntPtrToUnicodeString(
|
|||
ULONG Base OPTIONAL,
|
||||
PUNICODE_STRING String);
|
||||
|
||||
NTOSAPI
|
||||
NTSTATUS
|
||||
DDKAPI
|
||||
RtlInvertRangeList(
|
||||
OUT PRTL_RANGE_LIST InvertedRangeList,
|
||||
IN PRTL_RANGE_LIST RangeList);
|
||||
|
||||
NTOSAPI
|
||||
NTSTATUS
|
||||
DDKAPI
|
||||
RtlIsRangeAvailable(
|
||||
IN PRTL_RANGE_LIST RangeList,
|
||||
IN ULONGLONG Start,
|
||||
IN ULONGLONG End,
|
||||
IN ULONG Flags,
|
||||
IN UCHAR AttributeAvailableMask,
|
||||
IN PVOID Context OPTIONAL,
|
||||
IN PRTL_CONFLICT_RANGE_CALLBACK Callback OPTIONAL,
|
||||
OUT PBOOLEAN Available);
|
||||
|
||||
/*
|
||||
* BOOLEAN
|
||||
* RtlIsZeroLuid(
|
||||
|
@ -5458,15 +5322,6 @@ RtlMapGenericMask(
|
|||
IN OUT PACCESS_MASK AccessMask,
|
||||
IN PGENERIC_MAPPING GenericMapping);
|
||||
|
||||
NTOSAPI
|
||||
NTSTATUS
|
||||
DDKAPI
|
||||
RtlMergeRangeLists(
|
||||
OUT PRTL_RANGE_LIST MergedRangeList,
|
||||
IN PRTL_RANGE_LIST RangeList1,
|
||||
IN PRTL_RANGE_LIST RangeList2,
|
||||
IN ULONG Flags);
|
||||
|
||||
/*
|
||||
* VOID
|
||||
* RtlMoveMemory(
|
||||
|
|
Loading…
Reference in a new issue