mirror of
https://github.com/reactos/reactos.git
synced 2025-02-22 16:36:33 +00:00
[NTDDK]
- Group related definitions - Add several missing RTL related definitions svn path=/branches/header-work/; revision=46218
This commit is contained in:
parent
23e598d8ee
commit
99e1ded6f8
1 changed files with 491 additions and 150 deletions
|
@ -379,6 +379,10 @@ typedef enum _WELL_KNOWN_SID_TYPE {
|
||||||
|
|
||||||
#define RTL_RUN_ONCE_CTX_RESERVED_BITS 2
|
#define RTL_RUN_ONCE_CTX_RESERVED_BITS 2
|
||||||
|
|
||||||
|
#define RTL_HASH_ALLOCATED_HEADER 0x00000001
|
||||||
|
|
||||||
|
#define RTL_HASH_RESERVED_SIGNATURE 0
|
||||||
|
|
||||||
typedef union _RTL_RUN_ONCE {
|
typedef union _RTL_RUN_ONCE {
|
||||||
PVOID Ptr;
|
PVOID Ptr;
|
||||||
} RTL_RUN_ONCE, *PRTL_RUN_ONCE;
|
} RTL_RUN_ONCE, *PRTL_RUN_ONCE;
|
||||||
|
@ -451,6 +455,130 @@ typedef struct _RTL_AVL_TABLE {
|
||||||
PVOID TableContext;
|
PVOID TableContext;
|
||||||
} RTL_AVL_TABLE, *PRTL_AVL_TABLE;
|
} RTL_AVL_TABLE, *PRTL_AVL_TABLE;
|
||||||
|
|
||||||
|
#ifndef RTL_USE_AVL_TABLES
|
||||||
|
|
||||||
|
struct _RTL_GENERIC_TABLE;
|
||||||
|
|
||||||
|
typedef RTL_GENERIC_COMPARE_RESULTS
|
||||||
|
(NTAPI *PRTL_GENERIC_COMPARE_ROUTINE) (
|
||||||
|
IN struct _RTL_GENERIC_TABLE *Table,
|
||||||
|
IN PVOID FirstStruct,
|
||||||
|
IN PVOID SecondStruct);
|
||||||
|
|
||||||
|
typedef PVOID
|
||||||
|
(NTAPI *PRTL_GENERIC_ALLOCATE_ROUTINE) (
|
||||||
|
IN struct _RTL_GENERIC_TABLE *Table,
|
||||||
|
IN CLONG ByteSize);
|
||||||
|
|
||||||
|
typedef VOID
|
||||||
|
(NTAPI *PRTL_GENERIC_FREE_ROUTINE) (
|
||||||
|
IN struct _RTL_GENERIC_TABLE *Table,
|
||||||
|
IN PVOID Buffer);
|
||||||
|
|
||||||
|
typedef struct _RTL_GENERIC_TABLE {
|
||||||
|
PRTL_SPLAY_LINKS TableRoot;
|
||||||
|
LIST_ENTRY InsertOrderList;
|
||||||
|
PLIST_ENTRY OrderedPointer;
|
||||||
|
ULONG WhichOrderedElement;
|
||||||
|
ULONG NumberGenericTableElements;
|
||||||
|
PRTL_GENERIC_COMPARE_ROUTINE CompareRoutine;
|
||||||
|
PRTL_GENERIC_ALLOCATE_ROUTINE AllocateRoutine;
|
||||||
|
PRTL_GENERIC_FREE_ROUTINE FreeRoutine;
|
||||||
|
PVOID TableContext;
|
||||||
|
} RTL_GENERIC_TABLE, *PRTL_GENERIC_TABLE;
|
||||||
|
|
||||||
|
#if (NTDDI_VERSION >= NTDDI_WIN2K)
|
||||||
|
|
||||||
|
NTSYSAPI
|
||||||
|
VOID
|
||||||
|
NTAPI
|
||||||
|
RtlInitializeGenericTable(
|
||||||
|
OUT PRTL_GENERIC_TABLE Table,
|
||||||
|
IN PRTL_GENERIC_COMPARE_ROUTINE CompareRoutine,
|
||||||
|
IN PRTL_GENERIC_ALLOCATE_ROUTINE AllocateRoutine,
|
||||||
|
IN PRTL_GENERIC_FREE_ROUTINE FreeRoutine,
|
||||||
|
IN PVOID TableContext OPTIONAL);
|
||||||
|
|
||||||
|
NTSYSAPI
|
||||||
|
PVOID
|
||||||
|
NTAPI
|
||||||
|
RtlInsertElementGenericTable(
|
||||||
|
IN PRTL_GENERIC_TABLE Table,
|
||||||
|
IN PVOID Buffer,
|
||||||
|
IN CLONG BufferSize,
|
||||||
|
OUT PBOOLEAN NewElement OPTIONAL);
|
||||||
|
|
||||||
|
NTSYSAPI
|
||||||
|
PVOID
|
||||||
|
NTAPI
|
||||||
|
RtlInsertElementGenericTableFull(
|
||||||
|
IN PRTL_GENERIC_TABLE Table,
|
||||||
|
IN PVOID Buffer,
|
||||||
|
IN CLONG BufferSize,
|
||||||
|
OUT PBOOLEAN NewElement OPTIONAL,
|
||||||
|
IN PVOID NodeOrParent,
|
||||||
|
IN TABLE_SEARCH_RESULT SearchResult);
|
||||||
|
|
||||||
|
NTSYSAPI
|
||||||
|
BOOLEAN
|
||||||
|
NTAPI
|
||||||
|
RtlDeleteElementGenericTable(
|
||||||
|
IN PRTL_GENERIC_TABLE Table,
|
||||||
|
IN PVOID Buffer);
|
||||||
|
|
||||||
|
NTSYSAPI
|
||||||
|
PVOID
|
||||||
|
NTAPI
|
||||||
|
RtlLookupElementGenericTable(
|
||||||
|
IN PRTL_GENERIC_TABLE Table,
|
||||||
|
IN PVOID Buffer);
|
||||||
|
|
||||||
|
NTSYSAPI
|
||||||
|
PVOID
|
||||||
|
NTAPI
|
||||||
|
RtlLookupElementGenericTableFull(
|
||||||
|
IN PRTL_GENERIC_TABLE Table,
|
||||||
|
IN PVOID Buffer,
|
||||||
|
OUT PVOID *NodeOrParent,
|
||||||
|
OUT TABLE_SEARCH_RESULT *SearchResult);
|
||||||
|
|
||||||
|
NTSYSAPI
|
||||||
|
PVOID
|
||||||
|
NTAPI
|
||||||
|
RtlEnumerateGenericTable(
|
||||||
|
IN PRTL_GENERIC_TABLE Table,
|
||||||
|
IN BOOLEAN Restart);
|
||||||
|
|
||||||
|
NTSYSAPI
|
||||||
|
PVOID
|
||||||
|
NTAPI
|
||||||
|
RtlEnumerateGenericTableWithoutSplaying(
|
||||||
|
IN PRTL_GENERIC_TABLE Table,
|
||||||
|
IN OUT PVOID *RestartKey);
|
||||||
|
|
||||||
|
NTSYSAPI
|
||||||
|
PVOID
|
||||||
|
NTAPI
|
||||||
|
RtlGetElementGenericTable(
|
||||||
|
IN PRTL_GENERIC_TABLE Table,
|
||||||
|
IN ULONG I);
|
||||||
|
|
||||||
|
NTSYSAPI
|
||||||
|
ULONG
|
||||||
|
NTAPI
|
||||||
|
RtlNumberGenericTableElements(
|
||||||
|
IN PRTL_GENERIC_TABLE Table);
|
||||||
|
|
||||||
|
NTSYSAPI
|
||||||
|
BOOLEAN
|
||||||
|
NTAPI
|
||||||
|
RtlIsGenericTableEmpty(
|
||||||
|
IN PRTL_GENERIC_TABLE Table);
|
||||||
|
|
||||||
|
#endif /* (NTDDI_VERSION >= NTDDI_WIN2K) */
|
||||||
|
|
||||||
|
#endif /* RTL_USE_AVL_TABLES */
|
||||||
|
|
||||||
#ifdef RTL_USE_AVL_TABLES
|
#ifdef RTL_USE_AVL_TABLES
|
||||||
|
|
||||||
#undef PRTL_GENERIC_COMPARE_ROUTINE
|
#undef PRTL_GENERIC_COMPARE_ROUTINE
|
||||||
|
@ -491,6 +619,37 @@ typedef struct _RTL_SPLAY_LINKS {
|
||||||
struct _RTL_SPLAY_LINKS *RightChild;
|
struct _RTL_SPLAY_LINKS *RightChild;
|
||||||
} RTL_SPLAY_LINKS, *PRTL_SPLAY_LINKS;
|
} RTL_SPLAY_LINKS, *PRTL_SPLAY_LINKS;
|
||||||
|
|
||||||
|
typedef struct _RTL_DYNAMIC_HASH_TABLE_ENTRY {
|
||||||
|
LIST_ENTRY Linkage;
|
||||||
|
ULONG_PTR Signature;
|
||||||
|
} RTL_DYNAMIC_HASH_TABLE_ENTRY, *PRTL_DYNAMIC_HASH_TABLE_ENTRY;
|
||||||
|
|
||||||
|
typedef struct _RTL_DYNAMIC_HASH_TABLE_CONTEXT {
|
||||||
|
PLIST_ENTRY ChainHead;
|
||||||
|
PLIST_ENTRY PrevLinkage;
|
||||||
|
ULONG_PTR Signature;
|
||||||
|
} RTL_DYNAMIC_HASH_TABLE_CONTEXT, *PRTL_DYNAMIC_HASH_TABLE_CONTEXT;
|
||||||
|
|
||||||
|
typedef struct _RTL_DYNAMIC_HASH_TABLE_ENUMERATOR {
|
||||||
|
RTL_DYNAMIC_HASH_TABLE_ENTRY HashEntry;
|
||||||
|
PLIST_ENTRY ChainHead;
|
||||||
|
ULONG BucketIndex;
|
||||||
|
} RTL_DYNAMIC_HASH_TABLE_ENUMERATOR, *PRTL_DYNAMIC_HASH_TABLE_ENUMERATOR;
|
||||||
|
|
||||||
|
typedef struct _RTL_DYNAMIC_HASH_TABLE {
|
||||||
|
ULONG Flags;
|
||||||
|
ULONG Shift;
|
||||||
|
ULONG TableSize;
|
||||||
|
ULONG Pivot;
|
||||||
|
ULONG DivisorMask;
|
||||||
|
ULONG NumEntries;
|
||||||
|
ULONG NonEmptyBuckets;
|
||||||
|
ULONG NumEnumerators;
|
||||||
|
PVOID Directory;
|
||||||
|
} RTL_DYNAMIC_HASH_TABLE, *PRTL_DYNAMIC_HASH_TABLE;
|
||||||
|
|
||||||
|
#define HASH_ENTRY_KEY(x) ((x)->Signature)
|
||||||
|
|
||||||
#define RtlInitializeSplayLinks(Links) { \
|
#define RtlInitializeSplayLinks(Links) { \
|
||||||
PRTL_SPLAY_LINKS _SplayLinks; \
|
PRTL_SPLAY_LINKS _SplayLinks; \
|
||||||
_SplayLinks = (PRTL_SPLAY_LINKS)(Links); \
|
_SplayLinks = (PRTL_SPLAY_LINKS)(Links); \
|
||||||
|
@ -537,9 +696,25 @@ typedef struct _RTL_SPLAY_LINKS {
|
||||||
_SplayChild->Parent = _SplayParent; \
|
_SplayChild->Parent = _SplayParent; \
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if (defined(_M_AMD64) || defined(_M_IA64)) && !defined(_REALLY_GET_CALLERS_CALLER_)
|
||||||
|
#define RtlGetCallersAddress(CallersAddress, CallersCaller) \
|
||||||
|
*CallersAddress = (PVOID)_ReturnAddress(); \
|
||||||
|
*CallersCaller = NULL;
|
||||||
|
#else
|
||||||
|
#if (NTDDI_VERSION >= NTDDI_WIN2K)
|
||||||
|
NTSYSAPI
|
||||||
|
VOID
|
||||||
|
NTAPI
|
||||||
|
RtlGetCallersAddress(
|
||||||
|
OUT PVOID *CallersAddress,
|
||||||
|
OUT PVOID *CallersCaller);
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if (NTDDI_VERSION >= NTDDI_WIN2K)
|
#if (NTDDI_VERSION >= NTDDI_WIN2K)
|
||||||
|
|
||||||
|
#define RTL_STACK_WALKING_MODE_FRAMES_TO_SKIP_SHIFT 8
|
||||||
|
|
||||||
NTSYSAPI
|
NTSYSAPI
|
||||||
PRTL_SPLAY_LINKS
|
PRTL_SPLAY_LINKS
|
||||||
NTAPI
|
NTAPI
|
||||||
|
@ -583,7 +758,103 @@ NTAPI
|
||||||
RtlRealPredecessor(
|
RtlRealPredecessor(
|
||||||
IN PRTL_SPLAY_LINKS Links);
|
IN PRTL_SPLAY_LINKS Links);
|
||||||
|
|
||||||
#endif
|
NTSYSAPI
|
||||||
|
BOOLEAN
|
||||||
|
NTAPI
|
||||||
|
RtlPrefixUnicodeString(
|
||||||
|
IN PCUNICODE_STRING String1,
|
||||||
|
IN PCUNICODE_STRING String2,
|
||||||
|
IN BOOLEAN CaseInSensitive);
|
||||||
|
|
||||||
|
NTSYSAPI
|
||||||
|
VOID
|
||||||
|
NTAPI
|
||||||
|
RtlUpperString(
|
||||||
|
IN OUT PSTRING DestinationString,
|
||||||
|
IN const PSTRING SourceString);
|
||||||
|
|
||||||
|
NTSYSAPI
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
RtlUpcaseUnicodeString(
|
||||||
|
IN OUT PUNICODE_STRING DestinationString,
|
||||||
|
IN PCUNICODE_STRING SourceString,
|
||||||
|
IN BOOLEAN AllocateDestinationString);
|
||||||
|
|
||||||
|
NTSYSAPI
|
||||||
|
VOID
|
||||||
|
NTAPI
|
||||||
|
RtlMapGenericMask(
|
||||||
|
IN OUT PACCESS_MASK AccessMask,
|
||||||
|
IN PGENERIC_MAPPING GenericMapping);
|
||||||
|
|
||||||
|
NTSYSAPI
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
RtlVolumeDeviceToDosName(
|
||||||
|
IN PVOID VolumeDeviceObject,
|
||||||
|
OUT PUNICODE_STRING DosName);
|
||||||
|
|
||||||
|
NTSYSAPI
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
RtlGetVersion(
|
||||||
|
IN OUT PRTL_OSVERSIONINFOW lpVersionInformation);
|
||||||
|
|
||||||
|
NTSYSAPI
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
RtlVerifyVersionInfo(
|
||||||
|
IN PRTL_OSVERSIONINFOEXW VersionInfo,
|
||||||
|
IN ULONG TypeMask,
|
||||||
|
IN ULONGLONG ConditionMask);
|
||||||
|
|
||||||
|
NTSYSAPI
|
||||||
|
LONG
|
||||||
|
NTAPI
|
||||||
|
RtlCompareString(
|
||||||
|
IN const PSTRING String1,
|
||||||
|
IN const PSTRING String2,
|
||||||
|
IN BOOLEAN CaseInSensitive);
|
||||||
|
|
||||||
|
NTSYSAPI
|
||||||
|
VOID
|
||||||
|
NTAPI
|
||||||
|
RtlCopyString(
|
||||||
|
OUT PSTRING DestinationString,
|
||||||
|
IN const PSTRING SourceString OPTIONAL);
|
||||||
|
|
||||||
|
NTSYSAPI
|
||||||
|
BOOLEAN
|
||||||
|
NTAPI
|
||||||
|
RtlEqualString(
|
||||||
|
IN const PSTRING String1,
|
||||||
|
IN const PSTRING String2,
|
||||||
|
IN BOOLEAN CaseInSensitive);
|
||||||
|
|
||||||
|
NTSYSAPI
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
RtlCharToInteger(
|
||||||
|
IN PCSZ String,
|
||||||
|
IN ULONG Base OPTIONAL,
|
||||||
|
OUT PULONG Value);
|
||||||
|
|
||||||
|
NTSYSAPI
|
||||||
|
CHAR
|
||||||
|
NTAPI
|
||||||
|
RtlUpperChar(
|
||||||
|
IN CHAR Character);
|
||||||
|
|
||||||
|
NTSYSAPI
|
||||||
|
ULONG
|
||||||
|
NTAPI
|
||||||
|
RtlWalkFrameChain(
|
||||||
|
OUT PVOID *Callers,
|
||||||
|
IN ULONG Count,
|
||||||
|
IN ULONG Flags);
|
||||||
|
|
||||||
|
#endif /* (NTDDI_VERSION >= NTDDI_WIN2K) */
|
||||||
|
|
||||||
#if (NTDDI_VERSION >= NTDDI_WINXP)
|
#if (NTDDI_VERSION >= NTDDI_WINXP)
|
||||||
|
|
||||||
|
@ -731,6 +1002,225 @@ RtlRunOnceComplete(
|
||||||
|
|
||||||
#endif /* (NTDDI_VERSION >= NTDDI_WIN6) */
|
#endif /* (NTDDI_VERSION >= NTDDI_WIN6) */
|
||||||
|
|
||||||
|
#if !defined(MIDL_PASS) && !defined(SORTPP_PASS)
|
||||||
|
|
||||||
|
#if (NTDDI_VERSION >= NTDDI_WIN7)
|
||||||
|
|
||||||
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
|
NTAPI
|
||||||
|
RtlInitHashTableContext(
|
||||||
|
IN OUT PRTL_DYNAMIC_HASH_TABLE_CONTEXT Context)
|
||||||
|
{
|
||||||
|
Context->ChainHead = NULL;
|
||||||
|
Context->PrevLinkage = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
|
NTAPI
|
||||||
|
RtlInitHashTableContextFromEnumerator(
|
||||||
|
IN OUT PRTL_DYNAMIC_HASH_TABLE_CONTEXT Context,
|
||||||
|
IN PRTL_DYNAMIC_HASH_TABLE_ENUMERATOR Enumerator)
|
||||||
|
{
|
||||||
|
Context->ChainHead = Enumerator->ChainHead;
|
||||||
|
Context->PrevLinkage = Enumerator->HashEntry.Linkage.Blink;
|
||||||
|
}
|
||||||
|
|
||||||
|
FORCEINLINE
|
||||||
|
VOID
|
||||||
|
NTAPI
|
||||||
|
RtlReleaseHashTableContext(
|
||||||
|
IN OUT PRTL_DYNAMIC_HASH_TABLE_CONTEXT Context)
|
||||||
|
{
|
||||||
|
UNREFERENCED_PARAMETER(Context);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
FORCEINLINE
|
||||||
|
ULONG
|
||||||
|
NTAPI
|
||||||
|
RtlTotalBucketsHashTable(
|
||||||
|
IN PRTL_DYNAMIC_HASH_TABLE HashTable)
|
||||||
|
{
|
||||||
|
return HashTable->TableSize;
|
||||||
|
}
|
||||||
|
|
||||||
|
FORCEINLINE
|
||||||
|
ULONG
|
||||||
|
NTAPI
|
||||||
|
RtlNonEmptyBucketsHashTable(
|
||||||
|
IN PRTL_DYNAMIC_HASH_TABLE HashTable)
|
||||||
|
{
|
||||||
|
return HashTable->NonEmptyBuckets;
|
||||||
|
}
|
||||||
|
|
||||||
|
FORCEINLINE
|
||||||
|
ULONG
|
||||||
|
NTAPI
|
||||||
|
RtlEmptyBucketsHashTable(
|
||||||
|
IN PRTL_DYNAMIC_HASH_TABLE HashTable)
|
||||||
|
{
|
||||||
|
return HashTable->TableSize - HashTable->NonEmptyBuckets;
|
||||||
|
}
|
||||||
|
|
||||||
|
FORCEINLINE
|
||||||
|
ULONG
|
||||||
|
NTAPI
|
||||||
|
RtlTotalEntriesHashTable(
|
||||||
|
IN PRTL_DYNAMIC_HASH_TABLE HashTable)
|
||||||
|
{
|
||||||
|
return HashTable->NumEntries;
|
||||||
|
}
|
||||||
|
|
||||||
|
FORCEINLINE
|
||||||
|
ULONG
|
||||||
|
NTAPI
|
||||||
|
RtlActiveEnumeratorsHashTable(
|
||||||
|
IN PRTL_DYNAMIC_HASH_TABLE HashTable)
|
||||||
|
{
|
||||||
|
return HashTable->NumEnumerators;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* (NTDDI_VERSION >= NTDDI_WIN7) */
|
||||||
|
|
||||||
|
#endif /* !defined(MIDL_PASS) && !defined(SORTPP_PASS) */
|
||||||
|
|
||||||
|
#if (NTDDI_VERSION >= NTDDI_WIN7)
|
||||||
|
|
||||||
|
NTSYSAPI
|
||||||
|
BOOLEAN
|
||||||
|
NTAPI
|
||||||
|
RtlCreateHashTable(
|
||||||
|
IN OUT PRTL_DYNAMIC_HASH_TABLE *HashTable OPTIONAL,
|
||||||
|
IN ULONG Shift,
|
||||||
|
IN ULONG Flags);
|
||||||
|
|
||||||
|
NTSYSAPI
|
||||||
|
VOID
|
||||||
|
NTAPI
|
||||||
|
RtlDeleteHashTable(
|
||||||
|
IN PRTL_DYNAMIC_HASH_TABLE HashTable);
|
||||||
|
|
||||||
|
NTSYSAPI
|
||||||
|
BOOLEAN
|
||||||
|
NTAPI
|
||||||
|
RtlInsertEntryHashTable(
|
||||||
|
IN PRTL_DYNAMIC_HASH_TABLE HashTable,
|
||||||
|
IN PRTL_DYNAMIC_HASH_TABLE_ENTRY Entry,
|
||||||
|
IN ULONG_PTR Signature,
|
||||||
|
IN OUT PRTL_DYNAMIC_HASH_TABLE_CONTEXT Context OPTIONAL);
|
||||||
|
|
||||||
|
NTSYSAPI
|
||||||
|
BOOLEAN
|
||||||
|
NTAPI
|
||||||
|
RtlRemoveEntryHashTable(
|
||||||
|
IN PRTL_DYNAMIC_HASH_TABLE HashTable,
|
||||||
|
IN PRTL_DYNAMIC_HASH_TABLE_ENTRY Entry,
|
||||||
|
IN OUT PRTL_DYNAMIC_HASH_TABLE_CONTEXT Context OPTIONAL);
|
||||||
|
|
||||||
|
NTSYSAPI
|
||||||
|
PRTL_DYNAMIC_HASH_TABLE_ENTRY
|
||||||
|
NTAPI
|
||||||
|
RtlLookupEntryHashTable(
|
||||||
|
IN PRTL_DYNAMIC_HASH_TABLE HashTable,
|
||||||
|
IN ULONG_PTR Signature,
|
||||||
|
OUT PRTL_DYNAMIC_HASH_TABLE_CONTEXT Context OPTIONAL);
|
||||||
|
|
||||||
|
NTSYSAPI
|
||||||
|
PRTL_DYNAMIC_HASH_TABLE_ENTRY
|
||||||
|
NTAPI
|
||||||
|
RtlGetNextEntryHashTable(
|
||||||
|
IN PRTL_DYNAMIC_HASH_TABLE HashTable,
|
||||||
|
IN PRTL_DYNAMIC_HASH_TABLE_CONTEXT Context);
|
||||||
|
|
||||||
|
NTSYSAPI
|
||||||
|
BOOLEAN
|
||||||
|
NTAPI
|
||||||
|
RtlInitEnumerationHashTable(
|
||||||
|
IN PRTL_DYNAMIC_HASH_TABLE HashTable,
|
||||||
|
OUT PRTL_DYNAMIC_HASH_TABLE_ENUMERATOR Enumerator);
|
||||||
|
|
||||||
|
NTSYSAPI
|
||||||
|
PRTL_DYNAMIC_HASH_TABLE_ENTRY
|
||||||
|
NTAPI
|
||||||
|
RtlEnumerateEntryHashTable(
|
||||||
|
IN PRTL_DYNAMIC_HASH_TABLE HashTable,
|
||||||
|
IN OUT PRTL_DYNAMIC_HASH_TABLE_ENUMERATOR Enumerator);
|
||||||
|
|
||||||
|
NTSYSAPI
|
||||||
|
VOID
|
||||||
|
NTAPI
|
||||||
|
RtlEndEnumerationHashTable(
|
||||||
|
IN PRTL_DYNAMIC_HASH_TABLE HashTable,
|
||||||
|
IN OUT PRTL_DYNAMIC_HASH_TABLE_ENUMERATOR Enumerator);
|
||||||
|
|
||||||
|
NTSYSAPI
|
||||||
|
BOOLEAN
|
||||||
|
NTAPI
|
||||||
|
RtlInitWeakEnumerationHashTable(
|
||||||
|
IN PRTL_DYNAMIC_HASH_TABLE HashTable,
|
||||||
|
OUT PRTL_DYNAMIC_HASH_TABLE_ENUMERATOR Enumerator);
|
||||||
|
|
||||||
|
NTSYSAPI
|
||||||
|
PRTL_DYNAMIC_HASH_TABLE_ENTRY
|
||||||
|
NTAPI
|
||||||
|
RtlWeaklyEnumerateEntryHashTable(
|
||||||
|
IN PRTL_DYNAMIC_HASH_TABLE HashTable,
|
||||||
|
IN OUT PRTL_DYNAMIC_HASH_TABLE_ENUMERATOR Enumerator);
|
||||||
|
|
||||||
|
NTSYSAPI
|
||||||
|
VOID
|
||||||
|
NTAPI
|
||||||
|
RtlEndWeakEnumerationHashTable(
|
||||||
|
IN PRTL_DYNAMIC_HASH_TABLE HashTable,
|
||||||
|
IN OUT PRTL_DYNAMIC_HASH_TABLE_ENUMERATOR Enumerator);
|
||||||
|
|
||||||
|
NTSYSAPI
|
||||||
|
BOOLEAN
|
||||||
|
NTAPI
|
||||||
|
RtlExpandHashTable(
|
||||||
|
IN PRTL_DYNAMIC_HASH_TABLE HashTable);
|
||||||
|
|
||||||
|
NTSYSAPI
|
||||||
|
BOOLEAN
|
||||||
|
NTAPI
|
||||||
|
RtlContractHashTable(
|
||||||
|
IN PRTL_DYNAMIC_HASH_TABLE HashTable);
|
||||||
|
|
||||||
|
#endif /* (NTDDI_VERSION >= NTDDI_WIN7) */
|
||||||
|
|
||||||
|
#if defined(_AMD64_) || defined(_IA64_)
|
||||||
|
//DECLSPEC_DEPRECATED_DDK_WINXP
|
||||||
|
FORCEINLINE
|
||||||
|
LARGE_INTEGER
|
||||||
|
NTAPI_INLINE
|
||||||
|
RtlLargeIntegerDivide(
|
||||||
|
IN LARGE_INTEGER Dividend,
|
||||||
|
IN LARGE_INTEGER Divisor,
|
||||||
|
OUT PLARGE_INTEGER Remainder OPTIONAL)
|
||||||
|
{
|
||||||
|
LARGE_INTEGER ret;
|
||||||
|
ret.QuadPart = Dividend.QuadPart / Divisor.QuadPart;
|
||||||
|
if (Remainder)
|
||||||
|
Remainder->QuadPart = Dividend.QuadPart % Divisor.QuadPart;
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
#if (NTDDI_VERSION >= NTDDI_WIN2K)
|
||||||
|
NTSYSAPI
|
||||||
|
LARGE_INTEGER
|
||||||
|
NTAPI
|
||||||
|
RtlLargeIntegerDivide(
|
||||||
|
IN LARGE_INTEGER Dividend,
|
||||||
|
IN LARGE_INTEGER Divisor,
|
||||||
|
OUT PLARGE_INTEGER Remainder OPTIONAL);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* defined(_AMD64_) || defined(_IA64_) */
|
||||||
|
|
||||||
struct _LOADER_PARAMETER_BLOCK;
|
struct _LOADER_PARAMETER_BLOCK;
|
||||||
struct _CREATE_DISK;
|
struct _CREATE_DISK;
|
||||||
struct _DRIVE_LAYOUT_INFORMATION_EX;
|
struct _DRIVE_LAYOUT_INFORMATION_EX;
|
||||||
|
@ -3165,24 +3655,6 @@ extern NTKERNELAPI PEPROCESS PsInitialSystemProcess;
|
||||||
|
|
||||||
/* RTL Functions */
|
/* RTL Functions */
|
||||||
|
|
||||||
#if (defined(_M_AMD64) || defined(_M_IA64)) && !defined(_REALLY_GET_CALLERS_CALLER_)
|
|
||||||
|
|
||||||
#define RtlGetCallersAddress(CallersAddress, CallersCaller) \
|
|
||||||
*CallersAddress = (PVOID)_ReturnAddress(); \
|
|
||||||
*CallersCaller = NULL;
|
|
||||||
#else
|
|
||||||
|
|
||||||
#if (NTDDI_VERSION >= NTDDI_WIN2K)
|
|
||||||
NTSYSAPI
|
|
||||||
VOID
|
|
||||||
NTAPI
|
|
||||||
RtlGetCallersAddress(
|
|
||||||
OUT PVOID *CallersAddress,
|
|
||||||
OUT PVOID *CallersCaller);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if !defined(MIDL_PASS)
|
#if !defined(MIDL_PASS)
|
||||||
|
|
||||||
FORCEINLINE
|
FORCEINLINE
|
||||||
|
@ -3215,137 +3687,6 @@ RtlConvertUlongToLuid(
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(_AMD64_) || defined(_IA64_)
|
|
||||||
//DECLSPEC_DEPRECATED_DDK_WINXP
|
|
||||||
__inline
|
|
||||||
LARGE_INTEGER
|
|
||||||
NTAPI_INLINE
|
|
||||||
RtlLargeIntegerDivide(
|
|
||||||
IN LARGE_INTEGER Dividend,
|
|
||||||
IN LARGE_INTEGER Divisor,
|
|
||||||
OUT PLARGE_INTEGER Remainder OPTIONAL)
|
|
||||||
{
|
|
||||||
LARGE_INTEGER ret;
|
|
||||||
ret.QuadPart = Dividend.QuadPart / Divisor.QuadPart;
|
|
||||||
if (Remainder)
|
|
||||||
Remainder->QuadPart = Dividend.QuadPart % Divisor.QuadPart;
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
#if (NTDDI_VERSION >= NTDDI_WIN2K)
|
|
||||||
NTSYSAPI
|
|
||||||
LARGE_INTEGER
|
|
||||||
NTAPI
|
|
||||||
RtlLargeIntegerDivide(
|
|
||||||
IN LARGE_INTEGER Dividend,
|
|
||||||
IN LARGE_INTEGER Divisor,
|
|
||||||
OUT PLARGE_INTEGER Remainder OPTIONAL);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* defined(_AMD64_) || defined(_IA64_) */
|
|
||||||
|
|
||||||
#if (NTDDI_VERSION >= NTDDI_WIN2K)
|
|
||||||
|
|
||||||
NTSYSAPI
|
|
||||||
BOOLEAN
|
|
||||||
NTAPI
|
|
||||||
RtlPrefixUnicodeString(
|
|
||||||
IN PCUNICODE_STRING String1,
|
|
||||||
IN PCUNICODE_STRING String2,
|
|
||||||
IN BOOLEAN CaseInSensitive);
|
|
||||||
|
|
||||||
NTSYSAPI
|
|
||||||
VOID
|
|
||||||
NTAPI
|
|
||||||
RtlUpperString(
|
|
||||||
IN OUT PSTRING DestinationString,
|
|
||||||
IN const PSTRING SourceString);
|
|
||||||
|
|
||||||
NTSYSAPI
|
|
||||||
NTSTATUS
|
|
||||||
NTAPI
|
|
||||||
RtlUpcaseUnicodeString(
|
|
||||||
IN OUT PUNICODE_STRING DestinationString,
|
|
||||||
IN PCUNICODE_STRING SourceString,
|
|
||||||
IN BOOLEAN AllocateDestinationString);
|
|
||||||
|
|
||||||
NTSYSAPI
|
|
||||||
VOID
|
|
||||||
NTAPI
|
|
||||||
RtlMapGenericMask(
|
|
||||||
IN OUT PACCESS_MASK AccessMask,
|
|
||||||
IN PGENERIC_MAPPING GenericMapping);
|
|
||||||
|
|
||||||
NTSYSAPI
|
|
||||||
NTSTATUS
|
|
||||||
NTAPI
|
|
||||||
RtlVolumeDeviceToDosName(
|
|
||||||
IN PVOID VolumeDeviceObject,
|
|
||||||
OUT PUNICODE_STRING DosName);
|
|
||||||
|
|
||||||
NTSYSAPI
|
|
||||||
NTSTATUS
|
|
||||||
NTAPI
|
|
||||||
RtlGetVersion(
|
|
||||||
IN OUT PRTL_OSVERSIONINFOW lpVersionInformation);
|
|
||||||
|
|
||||||
NTSYSAPI
|
|
||||||
NTSTATUS
|
|
||||||
NTAPI
|
|
||||||
RtlVerifyVersionInfo(
|
|
||||||
IN PRTL_OSVERSIONINFOEXW VersionInfo,
|
|
||||||
IN ULONG TypeMask,
|
|
||||||
IN ULONGLONG ConditionMask);
|
|
||||||
|
|
||||||
NTSYSAPI
|
|
||||||
LONG
|
|
||||||
NTAPI
|
|
||||||
RtlCompareString(
|
|
||||||
IN const PSTRING String1,
|
|
||||||
IN const PSTRING String2,
|
|
||||||
BOOLEAN CaseInSensitive);
|
|
||||||
|
|
||||||
NTSYSAPI
|
|
||||||
VOID
|
|
||||||
NTAPI
|
|
||||||
RtlCopyString(
|
|
||||||
OUT PSTRING DestinationString,
|
|
||||||
IN const PSTRING SourceString OPTIONAL);
|
|
||||||
|
|
||||||
NTSYSAPI
|
|
||||||
BOOLEAN
|
|
||||||
NTAPI
|
|
||||||
RtlEqualString(
|
|
||||||
IN const PSTRING String1,
|
|
||||||
IN const PSTRING String2,
|
|
||||||
IN BOOLEAN CaseInSensitive);
|
|
||||||
|
|
||||||
NTSYSAPI
|
|
||||||
NTSTATUS
|
|
||||||
NTAPI
|
|
||||||
RtlCharToInteger(
|
|
||||||
IN PCSZ String,
|
|
||||||
IN ULONG Base OPTIONAL,
|
|
||||||
OUT PULONG Value);
|
|
||||||
|
|
||||||
NTSYSAPI
|
|
||||||
CHAR
|
|
||||||
NTAPI
|
|
||||||
RtlUpperChar(
|
|
||||||
IN CHAR Character);
|
|
||||||
|
|
||||||
NTSYSAPI
|
|
||||||
ULONG
|
|
||||||
NTAPI
|
|
||||||
RtlWalkFrameChain(
|
|
||||||
OUT PVOID *Callers,
|
|
||||||
IN ULONG Count,
|
|
||||||
IN ULONG Flags);
|
|
||||||
|
|
||||||
#endif /* (NTDDI_VERSION >= NTDDI_WIN2K) */
|
|
||||||
|
|
||||||
/* Security reference monitor routines */
|
/* Security reference monitor routines */
|
||||||
|
|
||||||
#if (NTDDI_VERSION >= NTDDI_WIN2K)
|
#if (NTDDI_VERSION >= NTDDI_WIN2K)
|
||||||
|
|
Loading…
Reference in a new issue