From: Vijay Kiran Kamuju infyquest@gmail.com
Signed-off-by: Vijay Kiran Kamuju infyquest@gmail.com Signed-off-by: Alex Henrie alexhenrie24@gmail.com --- dlls/ntdll/rtl.c | 13 ++++++++++++- include/ddk/ntddk.h | 1 + 2 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/dlls/ntdll/rtl.c b/dlls/ntdll/rtl.c index cf21c980a45..6afe4d876dd 100644 --- a/dlls/ntdll/rtl.c +++ b/dlls/ntdll/rtl.c @@ -428,7 +428,18 @@ void WINAPI RtlInitializeGenericTable(RTL_GENERIC_TABLE *table, PRTL_GENERIC_COM PRTL_GENERIC_ALLOCATE_ROUTINE allocate, PRTL_GENERIC_FREE_ROUTINE free, void *context) { - FIXME("(%p, %p, %p, %p, %p) stub!\n", table, compare, allocate, free, context); + TRACE("(%p, %p, %p, %p, %p)\n", table, compare, allocate, free, context); + + table->TableRoot = NULL; + table->InsertOrderList.Flink = &(table->InsertOrderList); + table->InsertOrderList.Blink = &(table->InsertOrderList); + table->OrderedPointer = &(table->InsertOrderList); + table->NumberGenericTableElements = 0; + table->WhichOrderedElement = 0; + table->CompareRoutine = compare; + table->AllocateRoutine = allocate; + table->FreeRoutine = free; + table->TableContext = context; }
/****************************************************************************** diff --git a/include/ddk/ntddk.h b/include/ddk/ntddk.h index 41ad3d721bd..3a1d68b1fa8 100644 --- a/include/ddk/ntddk.h +++ b/include/ddk/ntddk.h @@ -265,6 +265,7 @@ NTSTATUS WINAPI PsSetCreateProcessNotifyRoutine(PCREATE_PROCESS_NOTIFY_ROUTINE, NTSTATUS WINAPI PsSetCreateProcessNotifyRoutineEx(PCREATE_PROCESS_NOTIFY_ROUTINE_EX,BOOLEAN); NTSTATUS WINAPI PsSetCreateThreadNotifyRoutine(PCREATE_THREAD_NOTIFY_ROUTINE); NTSTATUS WINAPI PsSetLoadImageNotifyRoutine(PLOAD_IMAGE_NOTIFY_ROUTINE); +void WINAPI RtlInitializeGenericTable(PRTL_GENERIC_TABLE,PRTL_GENERIC_COMPARE_ROUTINE,PRTL_GENERIC_ALLOCATE_ROUTINE,PRTL_GENERIC_FREE_ROUTINE,void *); void WINAPI RtlInitializeGenericTableAvl(PRTL_AVL_TABLE,PRTL_AVL_COMPARE_ROUTINE,PRTL_AVL_ALLOCATE_ROUTINE, PRTL_AVL_FREE_ROUTINE,void *); void WINAPI RtlInsertElementGenericTableAvl(PRTL_AVL_TABLE,void *,ULONG,BOOL*);
From: Vijay Kiran Kamuju infyquest@gmail.com
Signed-off-by: Vijay Kiran Kamuju infyquest@gmail.com Signed-off-by: Alex Henrie alexhenrie24@gmail.com --- dlls/ntdll/rtl.c | 4 ++-- include/ddk/ntddk.h | 1 + 2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/dlls/ntdll/rtl.c b/dlls/ntdll/rtl.c index 6afe4d876dd..9bdccaa8c3c 100644 --- a/dlls/ntdll/rtl.c +++ b/dlls/ntdll/rtl.c @@ -459,8 +459,8 @@ void * WINAPI RtlEnumerateGenericTableWithoutSplaying(RTL_GENERIC_TABLE *table, */ ULONG WINAPI RtlNumberGenericTableElements(RTL_GENERIC_TABLE *table) { - FIXME("(%p) stub!\n", table); - return 0; + TRACE("(%p)\n", table); + return table->NumberGenericTableElements; }
/****************************************************************************** diff --git a/include/ddk/ntddk.h b/include/ddk/ntddk.h index 3a1d68b1fa8..569552bcad0 100644 --- a/include/ddk/ntddk.h +++ b/include/ddk/ntddk.h @@ -268,5 +268,6 @@ NTSTATUS WINAPI PsSetLoadImageNotifyRoutine(PLOAD_IMAGE_NOTIFY_ROUTINE); void WINAPI RtlInitializeGenericTable(PRTL_GENERIC_TABLE,PRTL_GENERIC_COMPARE_ROUTINE,PRTL_GENERIC_ALLOCATE_ROUTINE,PRTL_GENERIC_FREE_ROUTINE,void *); void WINAPI RtlInitializeGenericTableAvl(PRTL_AVL_TABLE,PRTL_AVL_COMPARE_ROUTINE,PRTL_AVL_ALLOCATE_ROUTINE, PRTL_AVL_FREE_ROUTINE,void *); void WINAPI RtlInsertElementGenericTableAvl(PRTL_AVL_TABLE,void *,ULONG,BOOL*); +ULONG WINAPI RtlNumberGenericTableElements(PRTL_GENERIC_TABLE);
#endif
From: Vijay Kiran Kamuju infyquest@gmail.com
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49426 Signed-off-by: Vijay Kiran Kamuju infyquest@gmail.com Signed-off-by: Alex Henrie alexhenrie24@gmail.com --- dlls/ntdll/ntdll.spec | 2 +- dlls/ntdll/rtl.c | 9 +++++++++ dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 2 +- include/ddk/ntddk.h | 1 + 4 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec index 0a6de61be49..0623c2443d0 100644 --- a/dlls/ntdll/ntdll.spec +++ b/dlls/ntdll/ntdll.spec @@ -698,7 +698,7 @@ @ stdcall RtlGetCurrentProcessorNumberEx(ptr) @ stdcall RtlGetCurrentTransaction() @ stdcall RtlGetDaclSecurityDescriptor(ptr ptr ptr ptr) -@ stub RtlGetElementGenericTable +@ stdcall RtlGetElementGenericTable(ptr long) # @ stub RtlGetElementGenericTableAvl @ stdcall RtlGetEnabledExtendedFeatures(int64) @ stdcall RtlGetExePath(wstr ptr) diff --git a/dlls/ntdll/rtl.c b/dlls/ntdll/rtl.c index 9bdccaa8c3c..2f90d89662f 100644 --- a/dlls/ntdll/rtl.c +++ b/dlls/ntdll/rtl.c @@ -463,6 +463,15 @@ ULONG WINAPI RtlNumberGenericTableElements(RTL_GENERIC_TABLE *table) return table->NumberGenericTableElements; }
+/****************************************************************************** + * RtlGetElementGenericTable [NTDLL.@] + */ +void * WINAPI RtlGetElementGenericTable(RTL_GENERIC_TABLE *table, ULONG index) +{ + FIXME("(%p, %u) stub!\n", table, index); + return NULL; +} + /****************************************************************************** * RtlMoveMemory [NTDLL.@] * diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec index 6ac70c718f1..b501e822347 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec +++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec @@ -1095,7 +1095,7 @@ @ stdcall RtlGetControlSecurityDescriptor(ptr ptr ptr) @ stdcall RtlGetDaclSecurityDescriptor(ptr ptr ptr ptr) @ stub RtlGetDefaultCodePage -@ stub RtlGetElementGenericTable +@ stdcall RtlGetElementGenericTable(ptr long) @ stub RtlGetElementGenericTableAvl @ stdcall RtlGetExtendedContextLength(long ptr) @ stdcall RtlGetExtendedContextLength2(long ptr int64) diff --git a/include/ddk/ntddk.h b/include/ddk/ntddk.h index 569552bcad0..2940436d0ca 100644 --- a/include/ddk/ntddk.h +++ b/include/ddk/ntddk.h @@ -265,6 +265,7 @@ NTSTATUS WINAPI PsSetCreateProcessNotifyRoutine(PCREATE_PROCESS_NOTIFY_ROUTINE, NTSTATUS WINAPI PsSetCreateProcessNotifyRoutineEx(PCREATE_PROCESS_NOTIFY_ROUTINE_EX,BOOLEAN); NTSTATUS WINAPI PsSetCreateThreadNotifyRoutine(PCREATE_THREAD_NOTIFY_ROUTINE); NTSTATUS WINAPI PsSetLoadImageNotifyRoutine(PLOAD_IMAGE_NOTIFY_ROUTINE); +void * WINAPI RtlGetElementGenericTable(PRTL_GENERIC_TABLE,ULONG); void WINAPI RtlInitializeGenericTable(PRTL_GENERIC_TABLE,PRTL_GENERIC_COMPARE_ROUTINE,PRTL_GENERIC_ALLOCATE_ROUTINE,PRTL_GENERIC_FREE_ROUTINE,void *); void WINAPI RtlInitializeGenericTableAvl(PRTL_AVL_TABLE,PRTL_AVL_COMPARE_ROUTINE,PRTL_AVL_ALLOCATE_ROUTINE, PRTL_AVL_FREE_ROUTINE,void *); void WINAPI RtlInsertElementGenericTableAvl(PRTL_AVL_TABLE,void *,ULONG,BOOL*);
From: Vijay Kiran Kamuju infyquest@gmail.com
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49426 Signed-off-by: Vijay Kiran Kamuju infyquest@gmail.com Signed-off-by: Alex Henrie alexhenrie24@gmail.com --- dlls/ntdll/ntdll.spec | 2 +- dlls/ntdll/rtl.c | 8 ++++++++ dlls/ntoskrnl.exe/ntoskrnl.exe.spec | 2 +- include/ddk/ntddk.h | 1 + 4 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec index 0623c2443d0..99df072b411 100644 --- a/dlls/ntdll/ntdll.spec +++ b/dlls/ntdll/ntdll.spec @@ -842,7 +842,7 @@ # @ stub RtlLockMemoryStreamRegion # @ stub RtlLogStackBackTrace @ stdcall RtlLookupAtomInAtomTable(ptr wstr ptr) -@ stub RtlLookupElementGenericTable +@ stdcall RtlLookupElementGenericTable(ptr ptr) # @ stub RtlLookupElementGenericTableAvl @ stdcall -arch=arm,arm64,x86_64 RtlLookupFunctionEntry(long ptr ptr) @ stdcall RtlMakeSelfRelativeSD(ptr ptr ptr) diff --git a/dlls/ntdll/rtl.c b/dlls/ntdll/rtl.c index 2f90d89662f..579aca542a7 100644 --- a/dlls/ntdll/rtl.c +++ b/dlls/ntdll/rtl.c @@ -472,6 +472,14 @@ void * WINAPI RtlGetElementGenericTable(RTL_GENERIC_TABLE *table, ULONG index) return NULL; }
+/****************************************************************************** + * RtlLookupElementGenericTable [NTDLL.@] + */ +void * WINAPI RtlLookupElementGenericTable(RTL_GENERIC_TABLE *table, void *buffer) +{ + FIXME("(%p, %p) stub!\n", table, buffer); + return NULL; +} /****************************************************************************** * RtlMoveMemory [NTDLL.@] * diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec index b501e822347..ad6322ead21 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec +++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec @@ -1180,7 +1180,7 @@ @ stdcall RtlLocateLegacyContext(ptr ptr) @ stub RtlLockBootStatusData @ stdcall RtlLookupAtomInAtomTable(ptr wstr ptr) -@ stub RtlLookupElementGenericTable +@ stdcall RtlLookupElementGenericTable(ptr ptr) @ stub RtlLookupElementGenericTableAvl @ stub RtlLookupElementGenericTableFull @ stub RtlLookupElementGenericTableFullAvl diff --git a/include/ddk/ntddk.h b/include/ddk/ntddk.h index 2940436d0ca..a6b2974ee6a 100644 --- a/include/ddk/ntddk.h +++ b/include/ddk/ntddk.h @@ -269,6 +269,7 @@ void * WINAPI RtlGetElementGenericTable(PRTL_GENERIC_TABLE,ULONG); void WINAPI RtlInitializeGenericTable(PRTL_GENERIC_TABLE,PRTL_GENERIC_COMPARE_ROUTINE,PRTL_GENERIC_ALLOCATE_ROUTINE,PRTL_GENERIC_FREE_ROUTINE,void *); void WINAPI RtlInitializeGenericTableAvl(PRTL_AVL_TABLE,PRTL_AVL_COMPARE_ROUTINE,PRTL_AVL_ALLOCATE_ROUTINE, PRTL_AVL_FREE_ROUTINE,void *); void WINAPI RtlInsertElementGenericTableAvl(PRTL_AVL_TABLE,void *,ULONG,BOOL*); +void * WINAPI RtlLookupElementGenericTable(PRTL_GENERIC_TABLE,void *); ULONG WINAPI RtlNumberGenericTableElements(PRTL_GENERIC_TABLE);
#endif