From: Zhiyi Zhang zzhang@codeweavers.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 ff601a1cd22..8614ecf9d47 100644 --- a/dlls/ntdll/ntdll.spec +++ b/dlls/ntdll/ntdll.spec @@ -855,7 +855,7 @@ @ stdcall RtlIsCurrentThread(long) @ stdcall RtlIsDosDeviceName_U(wstr) @ stdcall -arch=x86_64 -norelay RtlIsEcCode(ptr) -@ stub RtlIsGenericTableEmpty +@ stdcall RtlIsGenericTableEmpty(ptr) # @ stub RtlIsGenericTableEmptyAvl @ stdcall RtlIsNameLegalDOS8Dot3(ptr ptr ptr) @ stdcall RtlIsNormalizedString(long wstr long ptr) diff --git a/dlls/ntdll/rtl.c b/dlls/ntdll/rtl.c index 8a77b321797..ee330482162 100644 --- a/dlls/ntdll/rtl.c +++ b/dlls/ntdll/rtl.c @@ -547,6 +547,15 @@ void WINAPI RtlInitializeGenericTable(RTL_GENERIC_TABLE *table, PRTL_GENERIC_COM table->TableContext = context; }
+/****************************************************************************** + * RtlIsGenericTableEmpty [NTDLL.@] + */ +BOOLEAN WINAPI RtlIsGenericTableEmpty(RTL_GENERIC_TABLE *table) +{ + TRACE("(%p)\n", table); + return !table->TableRoot; +} + /****************************************************************************** * RtlEnumerateGenericTableWithoutSplaying [NTDLL.@] */ diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec index 12382313af2..57a947ea821 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec +++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec @@ -1176,7 +1176,7 @@ @ stdcall RtlIpv6StringToAddressExA(str ptr ptr ptr) @ stdcall RtlIpv6StringToAddressExW(wstr ptr ptr ptr) @ stdcall RtlIpv6StringToAddressW(wstr ptr ptr) -@ stub RtlIsGenericTableEmpty +@ stdcall RtlIsGenericTableEmpty(ptr) @ stub RtlIsGenericTableEmptyAvl @ stdcall RtlIsNameLegalDOS8Dot3(ptr ptr ptr) @ stdcall RtlIsNormalizedString(long wstr long ptr) diff --git a/include/ddk/ntddk.h b/include/ddk/ntddk.h index 67e867f45b7..67198da2f3d 100644 --- a/include/ddk/ntddk.h +++ b/include/ddk/ntddk.h @@ -309,6 +309,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*); +BOOLEAN WINAPI RtlIsGenericTableEmpty(PRTL_GENERIC_TABLE); void * WINAPI RtlLookupElementGenericTable(PRTL_GENERIC_TABLE,void *); void * WINAPI RtlLookupElementGenericTableAvl(PRTL_AVL_TABLE,void *); void WINAPI RtlMapGenericMask(ACCESS_MASK*,const GENERIC_MAPPING*);