[PATCH 4/7] ntdll/tests: Drop RTL function workarounds for Windows <= 2000

Alex Henrie alexhenrie24 at gmail.com
Mon May 25 23:36:21 CDT 2020


Signed-off-by: Alex Henrie <alexhenrie24 at gmail.com>
---
 dlls/ntdll/tests/rtl.c | 459 ++++++++++++-----------------------------
 1 file changed, 133 insertions(+), 326 deletions(-)

diff --git a/dlls/ntdll/tests/rtl.c b/dlls/ntdll/tests/rtl.c
index 9d6db9d08d..0cbf0b33ff 100644
--- a/dlls/ntdll/tests/rtl.c
+++ b/dlls/ntdll/tests/rtl.c
@@ -26,6 +26,7 @@
 #include "ntdll_test.h"
 #include "in6addr.h"
 #include "inaddr.h"
+#include "ip2string.h"
 
 #ifndef __WINE_WINTERNL_H
 
@@ -63,53 +64,23 @@ static inline USHORT __my_ushort_swap(USHORT s)
 
 /* Function ptrs for ntdll calls */
 static HMODULE hntdll = 0;
-static SIZE_T    (WINAPI  *pRtlCompareMemory)(LPCVOID,LPCVOID,SIZE_T);
-static SIZE_T    (WINAPI  *pRtlCompareMemoryUlong)(PULONG, SIZE_T, ULONG);
-static NTSTATUS  (WINAPI  *pRtlDeleteTimer)(HANDLE, HANDLE, HANDLE);
 static VOID      (WINAPI  *pRtlMoveMemory)(LPVOID,LPCVOID,SIZE_T);
 static VOID      (WINAPI  *pRtlFillMemory)(LPVOID,SIZE_T,BYTE);
 static VOID      (WINAPI  *pRtlFillMemoryUlong)(LPVOID,SIZE_T,ULONG);
 static VOID      (WINAPI  *pRtlZeroMemory)(LPVOID,SIZE_T);
 static ULONGLONG (WINAPIV *pRtlUlonglongByteSwap)(ULONGLONG source);
-static ULONG     (WINAPI  *pRtlUniform)(PULONG);
-static ULONG     (WINAPI  *pRtlRandom)(PULONG);
-static BOOLEAN   (WINAPI  *pRtlAreAllAccessesGranted)(ACCESS_MASK, ACCESS_MASK);
-static BOOLEAN   (WINAPI  *pRtlAreAnyAccessesGranted)(ACCESS_MASK, ACCESS_MASK);
-static DWORD     (WINAPI  *pRtlComputeCrc32)(DWORD,const BYTE*,INT);
-static void      (WINAPI * pRtlInitializeHandleTable)(ULONG, ULONG, RTL_HANDLE_TABLE *);
-static BOOLEAN   (WINAPI * pRtlIsValidIndexHandle)(const RTL_HANDLE_TABLE *, ULONG, RTL_HANDLE **);
-static NTSTATUS  (WINAPI * pRtlDestroyHandleTable)(RTL_HANDLE_TABLE *);
-static RTL_HANDLE * (WINAPI * pRtlAllocateHandle)(RTL_HANDLE_TABLE *, ULONG *);
-static BOOLEAN   (WINAPI * pRtlFreeHandle)(RTL_HANDLE_TABLE *, RTL_HANDLE *);
-static NTSTATUS  (WINAPI *pRtlAllocateAndInitializeSid)(PSID_IDENTIFIER_AUTHORITY,BYTE,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,PSID*);
-static NTSTATUS  (WINAPI *pRtlFreeSid)(PSID);
 static DWORD     (WINAPI *pRtlGetThreadErrorMode)(void);
 static NTSTATUS  (WINAPI *pRtlSetThreadErrorMode)(DWORD, LPDWORD);
-static IMAGE_BASE_RELOCATION *(WINAPI *pLdrProcessRelocationBlock)(void*,UINT,USHORT*,INT_PTR);
-static CHAR *    (WINAPI *pRtlIpv4AddressToStringA)(const IN_ADDR *, LPSTR);
 static NTSTATUS  (WINAPI *pRtlIpv4AddressToStringExA)(const IN_ADDR *, USHORT, LPSTR, PULONG);
-static NTSTATUS  (WINAPI *pRtlIpv4StringToAddressA)(PCSTR, BOOLEAN, PCSTR *, IN_ADDR *);
 static NTSTATUS  (WINAPI *pRtlIpv4StringToAddressExA)(PCSTR, BOOLEAN, IN_ADDR *, PUSHORT);
 static CHAR *    (WINAPI *pRtlIpv6AddressToStringA)(struct in6_addr *, PSTR);
 static NTSTATUS  (WINAPI *pRtlIpv6AddressToStringExA)(struct in6_addr *, ULONG, USHORT, PCHAR, PULONG);
-static NTSTATUS  (WINAPI *pRtlIpv6StringToAddressA)(PCSTR, PCSTR *, struct in6_addr *);
-static NTSTATUS  (WINAPI *pRtlIpv6StringToAddressW)(PCWSTR, PCWSTR *, struct in6_addr *);
 static NTSTATUS  (WINAPI *pRtlIpv6StringToAddressExA)(PCSTR, struct in6_addr *, PULONG, PUSHORT);
 static NTSTATUS  (WINAPI *pRtlIpv6StringToAddressExW)(PCWSTR, struct in6_addr *, PULONG, PUSHORT);
-static NTSTATUS  (WINAPI *pLdrAddRefDll)(ULONG, HMODULE);
-static NTSTATUS  (WINAPI *pLdrLockLoaderLock)(ULONG, ULONG*, ULONG_PTR*);
-static NTSTATUS  (WINAPI *pLdrUnlockLoaderLock)(ULONG, ULONG_PTR);
-static NTSTATUS  (WINAPI *pRtlMultiByteToUnicodeN)(LPWSTR, DWORD, LPDWORD, LPCSTR, DWORD);
-static NTSTATUS  (WINAPI *pRtlGetCompressionWorkSpaceSize)(USHORT, PULONG, PULONG);
-static NTSTATUS  (WINAPI *pRtlDecompressBuffer)(USHORT, PUCHAR, ULONG, const UCHAR*, ULONG, PULONG);
-static NTSTATUS  (WINAPI *pRtlDecompressFragment)(USHORT, PUCHAR, ULONG, const UCHAR*, ULONG, ULONG, PULONG, PVOID);
-static NTSTATUS  (WINAPI *pRtlCompressBuffer)(USHORT, const UCHAR*, ULONG, PUCHAR, ULONG, ULONG, PULONG, PVOID);
 static BOOL      (WINAPI *pRtlIsCriticalSectionLocked)(CRITICAL_SECTION *);
 static BOOL      (WINAPI *pRtlIsCriticalSectionLockedByThread)(CRITICAL_SECTION *);
 static NTSTATUS  (WINAPI *pRtlInitializeCriticalSectionEx)(CRITICAL_SECTION *, ULONG, ULONG);
 static NTSTATUS  (WINAPI *pLdrEnumerateLoadedModules)(void *, void *, void *);
-static NTSTATUS  (WINAPI *pRtlMakeSelfRelativeSD)(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,LPDWORD);
-static NTSTATUS  (WINAPI *pRtlAbsoluteToSelfRelativeSD)(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,PULONG);
 static NTSTATUS  (WINAPI *pLdrRegisterDllNotification)(ULONG, PLDR_DLL_NOTIFICATION_FUNCTION, void *, void **);
 static NTSTATUS  (WINAPI *pLdrUnregisterDllNotification)(void *);
 
@@ -134,53 +105,23 @@ static void InitFunctionPtrs(void)
     hntdll = LoadLibraryA("ntdll.dll");
     ok(hntdll != 0, "LoadLibrary failed\n");
     if (hntdll) {
-	pRtlCompareMemory = (void *)GetProcAddress(hntdll, "RtlCompareMemory");
-	pRtlCompareMemoryUlong = (void *)GetProcAddress(hntdll, "RtlCompareMemoryUlong");
-        pRtlDeleteTimer = (void *)GetProcAddress(hntdll, "RtlDeleteTimer");
 	pRtlMoveMemory = (void *)GetProcAddress(hntdll, "RtlMoveMemory");
 	pRtlFillMemory = (void *)GetProcAddress(hntdll, "RtlFillMemory");
 	pRtlFillMemoryUlong = (void *)GetProcAddress(hntdll, "RtlFillMemoryUlong");
 	pRtlZeroMemory = (void *)GetProcAddress(hntdll, "RtlZeroMemory");
 	pRtlUlonglongByteSwap = (void *)GetProcAddress(hntdll, "RtlUlonglongByteSwap");
-	pRtlUniform = (void *)GetProcAddress(hntdll, "RtlUniform");
-	pRtlRandom = (void *)GetProcAddress(hntdll, "RtlRandom");
-	pRtlAreAllAccessesGranted = (void *)GetProcAddress(hntdll, "RtlAreAllAccessesGranted");
-	pRtlAreAnyAccessesGranted = (void *)GetProcAddress(hntdll, "RtlAreAnyAccessesGranted");
-	pRtlComputeCrc32 = (void *)GetProcAddress(hntdll, "RtlComputeCrc32");
-	pRtlInitializeHandleTable = (void *)GetProcAddress(hntdll, "RtlInitializeHandleTable");
-	pRtlIsValidIndexHandle = (void *)GetProcAddress(hntdll, "RtlIsValidIndexHandle");
-	pRtlDestroyHandleTable = (void *)GetProcAddress(hntdll, "RtlDestroyHandleTable");
-	pRtlAllocateHandle = (void *)GetProcAddress(hntdll, "RtlAllocateHandle");
-	pRtlFreeHandle = (void *)GetProcAddress(hntdll, "RtlFreeHandle");
-        pRtlAllocateAndInitializeSid = (void *)GetProcAddress(hntdll, "RtlAllocateAndInitializeSid");
-        pRtlFreeSid = (void *)GetProcAddress(hntdll, "RtlFreeSid");
         pRtlGetThreadErrorMode = (void *)GetProcAddress(hntdll, "RtlGetThreadErrorMode");
         pRtlSetThreadErrorMode = (void *)GetProcAddress(hntdll, "RtlSetThreadErrorMode");
-        pLdrProcessRelocationBlock  = (void *)GetProcAddress(hntdll, "LdrProcessRelocationBlock");
-        pRtlIpv4AddressToStringA = (void *)GetProcAddress(hntdll, "RtlIpv4AddressToStringA");
         pRtlIpv4AddressToStringExA = (void *)GetProcAddress(hntdll, "RtlIpv4AddressToStringExA");
-        pRtlIpv4StringToAddressA = (void *)GetProcAddress(hntdll, "RtlIpv4StringToAddressA");
         pRtlIpv4StringToAddressExA = (void *)GetProcAddress(hntdll, "RtlIpv4StringToAddressExA");
         pRtlIpv6AddressToStringA = (void *)GetProcAddress(hntdll, "RtlIpv6AddressToStringA");
         pRtlIpv6AddressToStringExA = (void *)GetProcAddress(hntdll, "RtlIpv6AddressToStringExA");
-        pRtlIpv6StringToAddressA = (void *)GetProcAddress(hntdll, "RtlIpv6StringToAddressA");
-        pRtlIpv6StringToAddressW = (void *)GetProcAddress(hntdll, "RtlIpv6StringToAddressW");
         pRtlIpv6StringToAddressExA = (void *)GetProcAddress(hntdll, "RtlIpv6StringToAddressExA");
         pRtlIpv6StringToAddressExW = (void *)GetProcAddress(hntdll, "RtlIpv6StringToAddressExW");
-        pLdrAddRefDll = (void *)GetProcAddress(hntdll, "LdrAddRefDll");
-        pLdrLockLoaderLock = (void *)GetProcAddress(hntdll, "LdrLockLoaderLock");
-        pLdrUnlockLoaderLock = (void *)GetProcAddress(hntdll, "LdrUnlockLoaderLock");
-        pRtlMultiByteToUnicodeN = (void *)GetProcAddress(hntdll, "RtlMultiByteToUnicodeN");
-        pRtlGetCompressionWorkSpaceSize = (void *)GetProcAddress(hntdll, "RtlGetCompressionWorkSpaceSize");
-        pRtlDecompressBuffer = (void *)GetProcAddress(hntdll, "RtlDecompressBuffer");
-        pRtlDecompressFragment = (void *)GetProcAddress(hntdll, "RtlDecompressFragment");
-        pRtlCompressBuffer = (void *)GetProcAddress(hntdll, "RtlCompressBuffer");
         pRtlIsCriticalSectionLocked = (void *)GetProcAddress(hntdll, "RtlIsCriticalSectionLocked");
         pRtlIsCriticalSectionLockedByThread = (void *)GetProcAddress(hntdll, "RtlIsCriticalSectionLockedByThread");
         pRtlInitializeCriticalSectionEx = (void *)GetProcAddress(hntdll, "RtlInitializeCriticalSectionEx");
         pLdrEnumerateLoadedModules = (void *)GetProcAddress(hntdll, "LdrEnumerateLoadedModules");
-        pRtlMakeSelfRelativeSD = (void *)GetProcAddress(hntdll, "RtlMakeSelfRelativeSD");
-        pRtlAbsoluteToSelfRelativeSD = (void *)GetProcAddress(hntdll, "RtlAbsoluteToSelfRelativeSD");
         pLdrRegisterDllNotification = (void *)GetProcAddress(hntdll, "LdrRegisterDllNotification");
         pLdrUnregisterDllNotification = (void *)GetProcAddress(hntdll, "LdrUnregisterDllNotification");
     }
@@ -193,19 +134,13 @@ static void InitFunctionPtrs(void)
     ok(strlen(src) == 15, "Source must be 16 bytes long!\n");
 }
 
-#define COMP(str1,str2,cmplen,len) size = pRtlCompareMemory(str1, str2, cmplen); \
+#define COMP(str1,str2,cmplen,len) size = RtlCompareMemory(str1, str2, cmplen); \
   ok(size == len, "Expected %ld, got %ld\n", size, (SIZE_T)len)
 
 static void test_RtlCompareMemory(void)
 {
   SIZE_T size;
 
-  if (!pRtlCompareMemory)
-  {
-    win_skip("RtlCompareMemory is not available\n");
-    return;
-  }
-
   strcpy(dest, src);
 
   COMP(src,src,0,0);
@@ -219,49 +154,43 @@ static void test_RtlCompareMemoryUlong(void)
     ULONG a[10];
     ULONG result;
 
-    if (!pRtlCompareMemoryUlong)
-    {
-        win_skip("RtlCompareMemoryUlong is not available\n");
-        return;
-    }
-
     a[0]= 0x0123;
     a[1]= 0x4567;
     a[2]= 0x89ab;
     a[3]= 0xcdef;
-    result = pRtlCompareMemoryUlong(a, 0, 0x0123);
+    result = RtlCompareMemoryUlong(a, 0, 0x0123);
     ok(result == 0, "RtlCompareMemoryUlong(%p, 0, 0x0123) returns %u, expected 0\n", a, result);
-    result = pRtlCompareMemoryUlong(a, 3, 0x0123);
+    result = RtlCompareMemoryUlong(a, 3, 0x0123);
     ok(result == 0, "RtlCompareMemoryUlong(%p, 3, 0x0123) returns %u, expected 0\n", a, result);
-    result = pRtlCompareMemoryUlong(a, 4, 0x0123);
+    result = RtlCompareMemoryUlong(a, 4, 0x0123);
     ok(result == 4, "RtlCompareMemoryUlong(%p, 4, 0x0123) returns %u, expected 4\n", a, result);
-    result = pRtlCompareMemoryUlong(a, 5, 0x0123);
+    result = RtlCompareMemoryUlong(a, 5, 0x0123);
     ok(result == 4, "RtlCompareMemoryUlong(%p, 5, 0x0123) returns %u, expected 4\n", a, result);
-    result = pRtlCompareMemoryUlong(a, 7, 0x0123);
+    result = RtlCompareMemoryUlong(a, 7, 0x0123);
     ok(result == 4, "RtlCompareMemoryUlong(%p, 7, 0x0123) returns %u, expected 4\n", a, result);
-    result = pRtlCompareMemoryUlong(a, 8, 0x0123);
+    result = RtlCompareMemoryUlong(a, 8, 0x0123);
     ok(result == 4, "RtlCompareMemoryUlong(%p, 8, 0x0123) returns %u, expected 4\n", a, result);
-    result = pRtlCompareMemoryUlong(a, 9, 0x0123);
+    result = RtlCompareMemoryUlong(a, 9, 0x0123);
     ok(result == 4, "RtlCompareMemoryUlong(%p, 9, 0x0123) returns %u, expected 4\n", a, result);
-    result = pRtlCompareMemoryUlong(a, 4, 0x0127);
+    result = RtlCompareMemoryUlong(a, 4, 0x0127);
     ok(result == 0, "RtlCompareMemoryUlong(%p, 4, 0x0127) returns %u, expected 0\n", a, result);
-    result = pRtlCompareMemoryUlong(a, 4, 0x7123);
+    result = RtlCompareMemoryUlong(a, 4, 0x7123);
     ok(result == 0, "RtlCompareMemoryUlong(%p, 4, 0x7123) returns %u, expected 0\n", a, result);
-    result = pRtlCompareMemoryUlong(a, 16, 0x4567);
+    result = RtlCompareMemoryUlong(a, 16, 0x4567);
     ok(result == 0, "RtlCompareMemoryUlong(%p, 16, 0x4567) returns %u, expected 0\n", a, result);
 
     a[1]= 0x0123;
-    result = pRtlCompareMemoryUlong(a, 3, 0x0123);
+    result = RtlCompareMemoryUlong(a, 3, 0x0123);
     ok(result == 0, "RtlCompareMemoryUlong(%p, 3, 0x0123) returns %u, expected 0\n", a, result);
-    result = pRtlCompareMemoryUlong(a, 4, 0x0123);
+    result = RtlCompareMemoryUlong(a, 4, 0x0123);
     ok(result == 4, "RtlCompareMemoryUlong(%p, 4, 0x0123) returns %u, expected 4\n", a, result);
-    result = pRtlCompareMemoryUlong(a, 5, 0x0123);
+    result = RtlCompareMemoryUlong(a, 5, 0x0123);
     ok(result == 4, "RtlCompareMemoryUlong(%p, 5, 0x0123) returns %u, expected 4\n", a, result);
-    result = pRtlCompareMemoryUlong(a, 7, 0x0123);
+    result = RtlCompareMemoryUlong(a, 7, 0x0123);
     ok(result == 4, "RtlCompareMemoryUlong(%p, 7, 0x0123) returns %u, expected 4\n", a, result);
-    result = pRtlCompareMemoryUlong(a, 8, 0x0123);
+    result = RtlCompareMemoryUlong(a, 8, 0x0123);
     ok(result == 8, "RtlCompareMemoryUlong(%p, 8, 0x0123) returns %u, expected 8\n", a, result);
-    result = pRtlCompareMemoryUlong(a, 9, 0x0123);
+    result = RtlCompareMemoryUlong(a, 9, 0x0123);
     ok(result == 8, "RtlCompareMemoryUlong(%p, 9, 0x0123) returns %u, expected 8\n", a, result);
 }
 
@@ -382,12 +311,6 @@ static void test_RtlUlonglongByteSwap(void)
         return;
     }
 
-    if ( pRtlUlonglongByteSwap( 0 ) != 0 )
-    {
-        win_skip("Broken RtlUlonglongByteSwap in win2k\n");
-        return;
-    }
-
     result = pRtlUlonglongByteSwap( ((ULONGLONG)0x76543210 << 32) | 0x87654321 );
     ok( (((ULONGLONG)0x21436587 << 32) | 0x10325476) == result,
        "RtlUlonglongByteSwap(0x7654321087654321) returns 0x%s, expected 0x2143658710325476\n",
@@ -403,12 +326,6 @@ static void test_RtlUniform(void)
     ULONG expected;
     ULONG result;
 
-    if (!pRtlUniform)
-    {
-        win_skip("RtlUniform is not available\n");
-        return;
-    }
-
 /*
  * According to the documentation RtlUniform is using D.H. Lehmer's 1948
  * algorithm. This algorithm is:
@@ -429,7 +346,7 @@ static void test_RtlUniform(void)
  */
     seed = 0;
     expected = 0x7fffffc3;
-    result = pRtlUniform(&seed);
+    result = RtlUniform(&seed);
     ok(result == expected,
         "RtlUniform(&seed (seed == 0)) returns %x, expected %x\n",
         result, expected);
@@ -450,7 +367,7 @@ static void test_RtlUniform(void)
  */
     seed = 1;
     expected = seed * 0xffffffed + 0x7fffffc3 + 1;
-    result = pRtlUniform(&seed);
+    result = RtlUniform(&seed);
     ok(result == expected,
         "RtlUniform(&seed (seed == 1)) returns %x, expected %x\n",
         result, expected);
@@ -459,7 +376,7 @@ static void test_RtlUniform(void)
  */
     seed = 2;
     expected = seed * 0xffffffed + 0x7fffffc3;
-    result = pRtlUniform(&seed);
+    result = RtlUniform(&seed);
 
 /*
  * Windows Vista uses different algorithms, so skip the rest of the tests
@@ -480,21 +397,21 @@ static void test_RtlUniform(void)
  */
     seed = 3;
     expected = seed * 0xffffffed + 0x7fffffc3 + (seed & 1);
-    result = pRtlUniform(&seed);
+    result = RtlUniform(&seed);
     ok(result == expected,
         "RtlUniform(&seed (seed == 3)) returns %x, expected %x\n",
         result, expected);
 
     seed = 0x6bca1aa;
     expected = seed * 0xffffffed + 0x7fffffc3;
-    result = pRtlUniform(&seed);
+    result = RtlUniform(&seed);
     ok(result == expected,
         "RtlUniform(&seed (seed == 0x6bca1aa)) returns %x, expected %x\n",
         result, expected);
 
     seed = 0x6bca1ab;
     expected = seed * 0xffffffed + 0x7fffffc3 + 1;
-    result = pRtlUniform(&seed);
+    result = RtlUniform(&seed);
     ok(result == expected,
         "RtlUniform(&seed (seed == 0x6bca1ab)) returns %x, expected %x\n",
         result, expected);
@@ -503,7 +420,7 @@ static void test_RtlUniform(void)
  */
     seed = 0x6bca1ac;
     expected = seed * 0xffffffed + 0x7fffffc3 + 2;
-    result = pRtlUniform(&seed);
+    result = RtlUniform(&seed);
     ok(result == expected,
         "RtlUniform(&seed (seed == 0x6bca1ac)) returns %x, expected %x\n",
         result, expected);
@@ -515,14 +432,14 @@ static void test_RtlUniform(void)
  */
     seed = 0x6bca1ad;
     expected = (seed * 0xffffffed + 0x7fffffc3) & MAXLONG;
-    result = pRtlUniform(&seed);
+    result = RtlUniform(&seed);
     ok(result == expected,
         "RtlUniform(&seed (seed == 0x6bca1ad)) returns %x, expected %x\n",
         result, expected);
 
     seed = 0x6bca1ae;
     expected = (seed * 0xffffffed + 0x7fffffc3 + 1) & MAXLONG;
-    result = pRtlUniform(&seed);
+    result = RtlUniform(&seed);
     ok(result == expected,
         "RtlUniform(&seed (seed == 0x6bca1ae)) returns %x, expected %x\n",
         result, expected);
@@ -630,7 +547,7 @@ static void test_RtlUniform(void)
 	    expected = expected + (seed & 1);
 	} /* if */
         seed_bak = seed;
-        result = pRtlUniform(&seed);
+        result = RtlUniform(&seed);
         ok(result == expected,
                 "test: 0x%s RtlUniform(&seed (seed == %x)) returns %x, expected %x\n",
                 wine_dbgstr_longlong(num), seed_bak, result, expected);
@@ -677,7 +594,7 @@ static void test_RtlUniform(void)
     for (num = 0; num <= 100000; num++) {
 	expected = (seed * 0x7fffffed + 0x7fffffc3) % 0x7fffffff;
         seed_bak = seed;
-        result = pRtlUniform(&seed);
+        result = RtlUniform(&seed);
         ok(result == expected,
                 "test: 0x%s RtlUniform(&seed (seed == %x)) returns %x, expected %x\n",
                 wine_dbgstr_longlong(num), seed_bak, result, expected);
@@ -699,16 +616,10 @@ static void test_RtlRandom(void)
     ULONG seed;
     ULONG res[512];
 
-    if (!pRtlRandom)
-    {
-        win_skip("RtlRandom is not available\n");
-        return;
-    }
-
     seed = 0;
     for (i = 0; i < ARRAY_SIZE(res); i++)
     {
-        res[i] = pRtlRandom(&seed);
+        res[i] = RtlRandom(&seed);
         ok(seed != res[i], "%i: seed is same as res %x\n", i, seed);
         for (j = 0; j < i; j++)
             ok(res[i] != res[j], "res[%i] (%x) is same as res[%i] (%x)\n", j, res[j], i, res[i]);
@@ -741,15 +652,9 @@ static void test_RtlAreAllAccessesGranted(void)
     unsigned int test_num;
     BOOLEAN result;
 
-    if (!pRtlAreAllAccessesGranted)
-    {
-        win_skip("RtlAreAllAccessesGranted is not available\n");
-        return;
-    }
-
     for (test_num = 0; test_num < ARRAY_SIZE(all_accesses); test_num++) {
-	result = pRtlAreAllAccessesGranted(all_accesses[test_num].GrantedAccess,
-					   all_accesses[test_num].DesiredAccess);
+	result = RtlAreAllAccessesGranted(all_accesses[test_num].GrantedAccess,
+					  all_accesses[test_num].DesiredAccess);
 	ok(all_accesses[test_num].result == result,
            "(test %d): RtlAreAllAccessesGranted(%08x, %08x) returns %d, expected %d\n",
 	   test_num, all_accesses[test_num].GrantedAccess,
@@ -783,15 +688,9 @@ static void test_RtlAreAnyAccessesGranted(void)
     unsigned int test_num;
     BOOLEAN result;
 
-    if (!pRtlAreAnyAccessesGranted)
-    {
-        win_skip("RtlAreAnyAccessesGranted is not available\n");
-        return;
-    }
-
     for (test_num = 0; test_num < ARRAY_SIZE(any_accesses); test_num++) {
-	result = pRtlAreAnyAccessesGranted(any_accesses[test_num].GrantedAccess,
-					   any_accesses[test_num].DesiredAccess);
+	result = RtlAreAnyAccessesGranted(any_accesses[test_num].GrantedAccess,
+					  any_accesses[test_num].DesiredAccess);
 	ok(any_accesses[test_num].result == result,
            "(test %d): RtlAreAnyAccessesGranted(%08x, %08x) returns %d, expected %d\n",
 	   test_num, any_accesses[test_num].GrantedAccess,
@@ -804,13 +703,7 @@ static void test_RtlComputeCrc32(void)
 {
   DWORD crc = 0;
 
-  if (!pRtlComputeCrc32)
-  {
-    win_skip("RtlComputeCrc32 is not available\n");
-    return;
-  }
-
-  crc = pRtlComputeCrc32(crc, (const BYTE *)src, LEN);
+  crc = RtlComputeCrc32(crc, (const BYTE *)src, LEN);
   ok(crc == 0x40861dc2,"Expected 0x40861dc2, got %8x\n", crc);
 }
 
@@ -835,22 +728,16 @@ static void test_HandleTables(void)
     MY_HANDLE * MyHandle;
     RTL_HANDLE_TABLE HandleTable;
 
-    if (!pRtlInitializeHandleTable)
-    {
-        win_skip("RtlInitializeHandleTable is not available\n");
-        return;
-    }
-
-    pRtlInitializeHandleTable(0x3FFF, sizeof(MY_HANDLE), &HandleTable);
-    MyHandle = (MY_HANDLE *)pRtlAllocateHandle(&HandleTable, &Index);
+    RtlInitializeHandleTable(0x3FFF, sizeof(MY_HANDLE), &HandleTable);
+    MyHandle = (MY_HANDLE *)RtlAllocateHandle(&HandleTable, &Index);
     ok(MyHandle != NULL, "RtlAllocateHandle failed\n");
     RtlpMakeHandleAllocated(&MyHandle->RtlHandle);
     MyHandle = NULL;
-    result = pRtlIsValidIndexHandle(&HandleTable, Index, (RTL_HANDLE **)&MyHandle);
+    result = RtlIsValidIndexHandle(&HandleTable, Index, (RTL_HANDLE **)&MyHandle);
     ok(result, "Handle %p wasn't valid\n", MyHandle);
-    result = pRtlFreeHandle(&HandleTable, &MyHandle->RtlHandle);
+    result = RtlFreeHandle(&HandleTable, &MyHandle->RtlHandle);
     ok(result, "Couldn't free handle %p\n", MyHandle);
-    status = pRtlDestroyHandleTable(&HandleTable);
+    status = RtlDestroyHandleTable(&HandleTable);
     ok(status == STATUS_SUCCESS, "RtlDestroyHandleTable failed with error 0x%08x\n", status);
 }
 
@@ -860,25 +747,19 @@ static void test_RtlAllocateAndInitializeSid(void)
     SID_IDENTIFIER_AUTHORITY sia = {{ 1, 2, 3, 4, 5, 6 }};
     PSID psid;
 
-    if (!pRtlAllocateAndInitializeSid)
-    {
-        win_skip("RtlAllocateAndInitializeSid is not available\n");
-        return;
-    }
-
-    ret = pRtlAllocateAndInitializeSid(&sia, 0, 1, 2, 3, 4, 5, 6, 7, 8, &psid);
+    ret = RtlAllocateAndInitializeSid(&sia, 0, 1, 2, 3, 4, 5, 6, 7, 8, &psid);
     ok(!ret, "RtlAllocateAndInitializeSid error %08x\n", ret);
-    ret = pRtlFreeSid(psid);
+    ret = RtlFreeSid(psid);
     ok(!ret, "RtlFreeSid error %08x\n", ret);
 
     /* these tests crash on XP */
     if (0)
     {
-        pRtlAllocateAndInitializeSid(NULL, 0, 1, 2, 3, 4, 5, 6, 7, 8, &psid);
-        pRtlAllocateAndInitializeSid(&sia, 0, 1, 2, 3, 4, 5, 6, 7, 8, NULL);
+        RtlAllocateAndInitializeSid(NULL, 0, 1, 2, 3, 4, 5, 6, 7, 8, &psid);
+        RtlAllocateAndInitializeSid(&sia, 0, 1, 2, 3, 4, 5, 6, 7, 8, NULL);
     }
 
-    ret = pRtlAllocateAndInitializeSid(&sia, 9, 1, 2, 3, 4, 5, 6, 7, 8, &psid);
+    ret = RtlAllocateAndInitializeSid(&sia, 9, 1, 2, 3, 4, 5, 6, 7, 8, &psid);
     ok(ret == STATUS_INVALID_SID, "wrong error %08x\n", ret);
 }
 
@@ -886,13 +767,7 @@ static void test_RtlDeleteTimer(void)
 {
     NTSTATUS ret;
 
-    if (!pRtlDeleteTimer)
-    {
-        win_skip("RtlDeleteTimer is not available\n");
-        return;
-    }
-
-    ret = pRtlDeleteTimer(NULL, NULL, NULL);
+    ret = RtlDeleteTimer(NULL, NULL, NULL);
     ok(ret == STATUS_INVALID_PARAMETER_1 ||
        ret == STATUS_INVALID_PARAMETER, /* W2K */
        "expected STATUS_INVALID_PARAMETER_1 or STATUS_INVALID_PARAMETER, got %x\n", ret);
@@ -973,26 +848,21 @@ static void test_LdrProcessRelocationBlock(void)
     DWORD addr32;
     SHORT addr16;
 
-    if(!pLdrProcessRelocationBlock) {
-        win_skip("LdrProcessRelocationBlock not available\n");
-        return;
-    }
-
     addr32 = 0x50005;
     reloc = IMAGE_REL_BASED_HIGHLOW<<12;
-    ret = pLdrProcessRelocationBlock(&addr32, 1, &reloc, 0x500050);
+    ret = LdrProcessRelocationBlock(&addr32, 1, &reloc, 0x500050);
     ok((USHORT*)ret == &reloc+1, "ret = %p, expected %p\n", ret, &reloc+1);
     ok(addr32 == 0x550055, "addr32 = %x, expected 0x550055\n", addr32);
 
     addr16 = 0x505;
     reloc = IMAGE_REL_BASED_HIGH<<12;
-    ret = pLdrProcessRelocationBlock(&addr16, 1, &reloc, 0x500060);
+    ret = LdrProcessRelocationBlock(&addr16, 1, &reloc, 0x500060);
     ok((USHORT*)ret == &reloc+1, "ret = %p, expected %p\n", ret, &reloc+1);
     ok(addr16 == 0x555, "addr16 = %x, expected 0x555\n", addr16);
 
     addr16 = 0x505;
     reloc = IMAGE_REL_BASED_LOW<<12;
-    ret = pLdrProcessRelocationBlock(&addr16, 1, &reloc, 0x500060);
+    ret = LdrProcessRelocationBlock(&addr16, 1, &reloc, 0x500060);
     ok((USHORT*)ret == &reloc+1, "ret = %p, expected %p\n", ret, &reloc+1);
     ok(addr16 == 0x565, "addr16 = %x, expected 0x565\n", addr16);
 }
@@ -1004,12 +874,6 @@ static void test_RtlIpv4AddressToString(void)
     IN_ADDR ip;
     DWORD_PTR len;
 
-    if (!pRtlIpv4AddressToStringA)
-    {
-        win_skip("RtlIpv4AddressToStringA not available\n");
-        return;
-    }
-
     ip.S_un.S_un_b.s_b1 = 1;
     ip.S_un.S_un_b.s_b2 = 2;
     ip.S_un.S_un_b.s_b3 = 3;
@@ -1017,11 +881,11 @@ static void test_RtlIpv4AddressToString(void)
 
     memset(buffer, '#', sizeof(buffer) - 1);
     buffer[sizeof(buffer) -1] = 0;
-    res = pRtlIpv4AddressToStringA(&ip, buffer);
+    res = RtlIpv4AddressToStringA(&ip, buffer);
     len = strlen(buffer);
     ok(res == (buffer + len), "got %p with '%s' (expected %p)\n", res, buffer, buffer + len);
 
-    res = pRtlIpv4AddressToStringA(&ip, NULL);
+    res = RtlIpv4AddressToStringA(&ip, NULL);
     ok( (res == (char *)~0) ||
         broken(res == (char *)len),        /* XP and w2003 */
         "got %p (expected ~0)\n", res);
@@ -1030,13 +894,13 @@ static void test_RtlIpv4AddressToString(void)
         /* this crashes in windows */
         memset(buffer, '#', sizeof(buffer) - 1);
         buffer[sizeof(buffer) -1] = 0;
-        res = pRtlIpv4AddressToStringA(NULL, buffer);
+        res = RtlIpv4AddressToStringA(NULL, buffer);
         trace("got %p with '%s'\n", res, buffer);
     }
 
     if (0) {
         /* this crashes in windows */
-        res = pRtlIpv4AddressToStringA(NULL, NULL);
+        res = RtlIpv4AddressToStringA(NULL, NULL);
         trace("got %p\n", res);
     }
 }
@@ -1292,23 +1156,17 @@ static void test_RtlIpv4StringToAddress(void)
     CHAR dummy;
     int i;
 
-    if (!pRtlIpv4StringToAddressA)
-    {
-        skip("RtlIpv4StringToAddress not available\n");
-        return;
-    }
-
     if (0)
     {
         /* leaving either parameter NULL crashes on Windows */
-        res = pRtlIpv4StringToAddressA(NULL, FALSE, &terminator, &ip);
-        res = pRtlIpv4StringToAddressA("1.1.1.1", FALSE, NULL, &ip);
-        res = pRtlIpv4StringToAddressA("1.1.1.1", FALSE, &terminator, NULL);
+        res = RtlIpv4StringToAddressA(NULL, FALSE, &terminator, &ip);
+        res = RtlIpv4StringToAddressA("1.1.1.1", FALSE, NULL, &ip);
+        res = RtlIpv4StringToAddressA("1.1.1.1", FALSE, &terminator, NULL);
         /* same for the wide char version */
         /*
-        res = pRtlIpv4StringToAddressW(NULL, FALSE, &terminatorW, &ip);
-        res = pRtlIpv4StringToAddressW(L"1.1.1.1", FALSE, NULL, &ip);
-        res = pRtlIpv4StringToAddressW(L"1.1.1.1", FALSE, &terminatorW, NULL);
+        res = RtlIpv4StringToAddressW(NULL, FALSE, &terminatorW, &ip);
+        res = RtlIpv4StringToAddressW(L"1.1.1.1", FALSE, NULL, &ip);
+        res = RtlIpv4StringToAddressW(L"1.1.1.1", FALSE, &terminatorW, NULL);
         */
     }
 
@@ -1317,7 +1175,7 @@ static void test_RtlIpv4StringToAddress(void)
         /* non-strict */
         terminator = &dummy;
         ip.S_un.S_addr = 0xabababab;
-        res = pRtlIpv4StringToAddressA(ipv4_tests[i].address, FALSE, &terminator, &ip);
+        res = RtlIpv4StringToAddressA(ipv4_tests[i].address, FALSE, &terminator, &ip);
         ok(res == ipv4_tests[i].res,
            "[%s] res = 0x%08x, expected 0x%08x\n",
            ipv4_tests[i].address, res, ipv4_tests[i].res);
@@ -1342,7 +1200,7 @@ static void test_RtlIpv4StringToAddress(void)
         /* strict */
         terminator = &dummy;
         ip.S_un.S_addr = 0xabababab;
-        res = pRtlIpv4StringToAddressA(ipv4_tests[i].address, TRUE, &terminator, &ip);
+        res = RtlIpv4StringToAddressA(ipv4_tests[i].address, TRUE, &terminator, &ip);
         ok(res == ipv4_tests[i].res_strict,
            "[%s] res = 0x%08x, expected 0x%08x\n",
            ipv4_tests[i].address, res, ipv4_tests[i].res_strict);
@@ -2095,14 +1953,11 @@ static void compare_RtlIpv6StringToAddressW(PCSTR name_a, int terminator_offset_
     IN6_ADDR ip;
     PCWSTR terminator;
 
-    if (!pRtlIpv6StringToAddressW)
-        return;
-
-    pRtlMultiByteToUnicodeN(name, sizeof(name), NULL, name_a, strlen(name_a) + 1);
+    RtlMultiByteToUnicodeN(name, sizeof(name), NULL, name_a, strlen(name_a) + 1);
 
     init_ip6(&ip, NULL);
     terminator = (void *)0xdeadbeef;
-    res = pRtlIpv6StringToAddressW(name, &terminator, &ip);
+    res = RtlIpv6StringToAddressW(name, &terminator, &ip);
     ok(res == res_a, "[W:%s] res = 0x%08x, expected 0x%08x\n", name_a, res, res_a);
 
     if (terminator_offset_a < 0)
@@ -2134,28 +1989,16 @@ static void test_RtlIpv6StringToAddress(void)
     PCSTR terminator;
     unsigned int i;
 
-    if (!pRtlIpv6StringToAddressW)
-    {
-        skip("RtlIpv6StringToAddressW not available\n");
-        /* we can continue, just not test W */
-    }
-
-    if (!pRtlIpv6StringToAddressA)
-    {
-        skip("RtlIpv6StringToAddressA not available\n");
-        return; /* all tests are centered around A, we cannot continue */
-    }
-
-    res = pRtlIpv6StringToAddressA("::", &terminator, &ip);
+    res = RtlIpv6StringToAddressA("::", &terminator, &ip);
     ok(res == STATUS_SUCCESS, "[validate] res = 0x%08x, expected STATUS_SUCCESS\n", res);
     if (0)
     {
         /* any of these crash */
-        res = pRtlIpv6StringToAddressA(NULL, &terminator, &ip);
+        res = RtlIpv6StringToAddressA(NULL, &terminator, &ip);
         ok(res == STATUS_INVALID_PARAMETER, "[null string] res = 0x%08x, expected STATUS_INVALID_PARAMETER\n", res);
-        res = pRtlIpv6StringToAddressA("::", NULL, &ip);
+        res = RtlIpv6StringToAddressA("::", NULL, &ip);
         ok(res == STATUS_INVALID_PARAMETER, "[null terminator] res = 0x%08x, expected STATUS_INVALID_PARAMETER\n", res);
-        res = pRtlIpv6StringToAddressA("::", &terminator, NULL);
+        res = RtlIpv6StringToAddressA("::", &terminator, NULL);
         ok(res == STATUS_INVALID_PARAMETER, "[null result] res = 0x%08x, expected STATUS_INVALID_PARAMETER\n", res);
     }
 
@@ -2166,7 +2009,7 @@ static void test_RtlIpv6StringToAddress(void)
     {
         init_ip6(&ip, NULL);
         terminator = (void *)0xdeadbeef;
-        res = pRtlIpv6StringToAddressA(ipv6_tests[i].address, &terminator, &ip);
+        res = RtlIpv6StringToAddressA(ipv6_tests[i].address, &terminator, &ip);
         compare_RtlIpv6StringToAddressW(ipv6_tests[i].address, (terminator != (void *)0xdeadbeef) ?
                                         (terminator - ipv6_tests[i].address) : -1, &ip, res);
 
@@ -2221,7 +2064,7 @@ static void compare_RtlIpv6StringToAddressExW(PCSTR name_a, const struct in6_add
     if (!pRtlIpv6StringToAddressExW)
         return;
 
-    pRtlMultiByteToUnicodeN(name, sizeof(name), NULL, name_a, strlen(name_a) + 1);
+    RtlMultiByteToUnicodeN(name, sizeof(name), NULL, name_a, strlen(name_a) + 1);
 
     init_ip6(&ip, NULL);
     res = pRtlIpv6StringToAddressExW(name, &ip, &scope, &port);
@@ -2478,12 +2321,6 @@ static void test_LdrAddRefDll(void)
     NTSTATUS status;
     BOOL ret;
 
-    if (!pLdrAddRefDll)
-    {
-        win_skip( "LdrAddRefDll not supported\n" );
-        return;
-    }
-
     mod = LoadLibraryA("comctl32.dll");
     ok(mod != NULL, "got %p\n", mod);
     ret = FreeLibrary(mod);
@@ -2495,7 +2332,7 @@ static void test_LdrAddRefDll(void)
     /* load, addref and release 2 times */
     mod = LoadLibraryA("comctl32.dll");
     ok(mod != NULL, "got %p\n", mod);
-    status = pLdrAddRefDll(0, mod);
+    status = LdrAddRefDll(0, mod);
     ok(status == STATUS_SUCCESS, "got 0x%08x\n", status);
     ret = FreeLibrary(mod);
     ok(ret, "got %d\n", ret);
@@ -2511,7 +2348,7 @@ static void test_LdrAddRefDll(void)
     /* pin refcount */
     mod = LoadLibraryA("comctl32.dll");
     ok(mod != NULL, "got %p\n", mod);
-    status = pLdrAddRefDll(LDR_ADDREF_DLL_PIN, mod);
+    status = LdrAddRefDll(LDR_ADDREF_DLL_PIN, mod);
     ok(status == STATUS_SUCCESS, "got 0x%08x\n", status);
 
     ret = FreeLibrary(mod);
@@ -2533,70 +2370,58 @@ static void test_LdrLockLoaderLock(void)
     ULONG result;
     NTSTATUS status;
 
-    if (!pLdrLockLoaderLock)
-    {
-        win_skip("LdrLockLoaderLock() is not available\n");
-        return;
-    }
-
     /* invalid flags */
     result = 10;
     magic = 0xdeadbeef;
-    status = pLdrLockLoaderLock(0x10, &result, &magic);
+    status = LdrLockLoaderLock(0x10, &result, &magic);
     ok(status == STATUS_INVALID_PARAMETER_1, "got 0x%08x\n", status);
     ok(result == 0, "got %d\n", result);
     ok(magic == 0, "got %lx\n", magic);
 
     magic = 0xdeadbeef;
-    status = pLdrLockLoaderLock(0x10, NULL, &magic);
+    status = LdrLockLoaderLock(0x10, NULL, &magic);
     ok(status == STATUS_INVALID_PARAMETER_1, "got 0x%08x\n", status);
     ok(magic == 0, "got %lx\n", magic);
 
     result = 10;
-    status = pLdrLockLoaderLock(0x10, &result, NULL);
+    status = LdrLockLoaderLock(0x10, &result, NULL);
     ok(status == STATUS_INVALID_PARAMETER_1, "got 0x%08x\n", status);
     ok(result == 0, "got %d\n", result);
 
     /* non-blocking mode, result is null */
     magic = 0xdeadbeef;
-    status = pLdrLockLoaderLock(0x2, NULL, &magic);
+    status = LdrLockLoaderLock(0x2, NULL, &magic);
     ok(status == STATUS_INVALID_PARAMETER_2, "got 0x%08x\n", status);
     ok(magic == 0, "got %lx\n", magic);
 
     /* magic pointer is null */
     result = 10;
-    status = pLdrLockLoaderLock(0, &result, NULL);
+    status = LdrLockLoaderLock(0, &result, NULL);
     ok(status == STATUS_INVALID_PARAMETER_3, "got 0x%08x\n", status);
     ok(result == 0, "got %d\n", result);
 
     /* lock in non-blocking mode */
     result = 0;
     magic = 0;
-    status = pLdrLockLoaderLock(0x2, &result, &magic);
+    status = LdrLockLoaderLock(0x2, &result, &magic);
     ok(status == STATUS_SUCCESS, "got 0x%08x\n", status);
     ok(result == 1, "got %d\n", result);
     ok(magic != 0, "got %lx\n", magic);
-    pLdrUnlockLoaderLock(0, magic);
+    LdrUnlockLoaderLock(0, magic);
 }
 
 static void test_RtlCompressBuffer(void)
 {
     ULONG compress_workspace, decompress_workspace;
-    static const UCHAR test_buffer[] = "WineWineWine";
+    static UCHAR test_buffer[] = "WineWineWine";
     static UCHAR buf1[0x1000], buf2[0x1000];
     ULONG final_size, buf_size;
     UCHAR *workspace = NULL;
     NTSTATUS status;
 
-    if (!pRtlCompressBuffer || !pRtlDecompressBuffer || !pRtlGetCompressionWorkSpaceSize)
-    {
-        win_skip("skipping RtlCompressBuffer tests, required functions not available\n");
-        return;
-    }
-
     compress_workspace = decompress_workspace = 0xdeadbeef;
-    status = pRtlGetCompressionWorkSpaceSize(COMPRESSION_FORMAT_LZNT1, &compress_workspace,
-                                             &decompress_workspace);
+    status = RtlGetCompressionWorkSpaceSize(COMPRESSION_FORMAT_LZNT1, &compress_workspace,
+                                            &decompress_workspace);
     ok(status == STATUS_SUCCESS, "got wrong status 0x%08x\n", status);
     ok(compress_workspace != 0, "got wrong compress_workspace %u\n", compress_workspace);
     workspace = HeapAlloc(GetProcessHeap(), 0, compress_workspace);
@@ -2604,28 +2429,28 @@ static void test_RtlCompressBuffer(void)
 
     /* test compression format / engine */
     final_size = 0xdeadbeef;
-    status = pRtlCompressBuffer(COMPRESSION_FORMAT_NONE, test_buffer, sizeof(test_buffer),
-                                buf1, sizeof(buf1) - 1, 4096, &final_size, workspace);
+    status = RtlCompressBuffer(COMPRESSION_FORMAT_NONE, test_buffer, sizeof(test_buffer),
+                               buf1, sizeof(buf1) - 1, 4096, &final_size, workspace);
     ok(status == STATUS_INVALID_PARAMETER, "got wrong status 0x%08x\n", status);
     ok(final_size == 0xdeadbeef, "got wrong final_size %u\n", final_size);
 
     final_size = 0xdeadbeef;
-    status = pRtlCompressBuffer(COMPRESSION_FORMAT_DEFAULT, test_buffer, sizeof(test_buffer),
-                                buf1, sizeof(buf1) - 1, 4096, &final_size, workspace);
+    status = RtlCompressBuffer(COMPRESSION_FORMAT_DEFAULT, test_buffer, sizeof(test_buffer),
+                               buf1, sizeof(buf1) - 1, 4096, &final_size, workspace);
     ok(status == STATUS_INVALID_PARAMETER, "got wrong status 0x%08x\n", status);
     ok(final_size == 0xdeadbeef, "got wrong final_size %u\n", final_size);
 
     final_size = 0xdeadbeef;
-    status = pRtlCompressBuffer(0xFF, test_buffer, sizeof(test_buffer),
-                                buf1, sizeof(buf1) - 1, 4096, &final_size, workspace);
+    status = RtlCompressBuffer(0xFF, test_buffer, sizeof(test_buffer),
+                               buf1, sizeof(buf1) - 1, 4096, &final_size, workspace);
     ok(status == STATUS_UNSUPPORTED_COMPRESSION, "got wrong status 0x%08x\n", status);
     ok(final_size == 0xdeadbeef, "got wrong final_size %u\n", final_size);
 
     /* test compression */
     final_size = 0xdeadbeef;
     memset(buf1, 0x11, sizeof(buf1));
-    status = pRtlCompressBuffer(COMPRESSION_FORMAT_LZNT1, test_buffer, sizeof(test_buffer),
-                                buf1, sizeof(buf1), 4096, &final_size, workspace);
+    status = RtlCompressBuffer(COMPRESSION_FORMAT_LZNT1, test_buffer, sizeof(test_buffer),
+                               buf1, sizeof(buf1), 4096, &final_size, workspace);
     ok(status == STATUS_SUCCESS, "got wrong status 0x%08x\n", status);
     ok((*(WORD *)buf1 & 0x7000) == 0x3000, "no chunk signature found %04x\n", *(WORD *)buf1);
     todo_wine
@@ -2635,8 +2460,8 @@ static void test_RtlCompressBuffer(void)
     buf_size = final_size;
     final_size = 0xdeadbeef;
     memset(buf2, 0x11, sizeof(buf2));
-    status = pRtlDecompressBuffer(COMPRESSION_FORMAT_LZNT1, buf2, sizeof(buf2),
-                                  buf1, buf_size, &final_size);
+    status = RtlDecompressBuffer(COMPRESSION_FORMAT_LZNT1, buf2, sizeof(buf2),
+                                 buf1, buf_size, &final_size);
     ok(status == STATUS_SUCCESS, "got wrong status 0x%08x\n", status);
     ok(final_size == sizeof(test_buffer), "got wrong final_size %u\n", final_size);
     ok(!memcmp(buf2, test_buffer, sizeof(test_buffer)), "got wrong decoded data\n");
@@ -2645,8 +2470,8 @@ static void test_RtlCompressBuffer(void)
     /* buffer too small */
     final_size = 0xdeadbeef;
     memset(buf1, 0x11, sizeof(buf1));
-    status = pRtlCompressBuffer(COMPRESSION_FORMAT_LZNT1, test_buffer, sizeof(test_buffer),
-                                buf1, 4, 4096, &final_size, workspace);
+    status = RtlCompressBuffer(COMPRESSION_FORMAT_LZNT1, test_buffer, sizeof(test_buffer),
+                               buf1, 4, 4096, &final_size, workspace);
     ok(status == STATUS_BUFFER_TOO_SMALL, "got wrong status 0x%08x\n", status);
 
     HeapFree(GetProcessHeap(), 0, workspace);
@@ -2657,35 +2482,29 @@ static void test_RtlGetCompressionWorkSpaceSize(void)
     ULONG compress_workspace, decompress_workspace;
     NTSTATUS status;
 
-    if (!pRtlGetCompressionWorkSpaceSize)
-    {
-        win_skip("RtlGetCompressionWorkSpaceSize is not available\n");
-        return;
-    }
-
     /* test invalid format / engine */
-    status = pRtlGetCompressionWorkSpaceSize(COMPRESSION_FORMAT_NONE, &compress_workspace,
-                                             &decompress_workspace);
+    status = RtlGetCompressionWorkSpaceSize(COMPRESSION_FORMAT_NONE, &compress_workspace,
+                                            &decompress_workspace);
     ok(status == STATUS_INVALID_PARAMETER, "got wrong status 0x%08x\n", status);
 
-    status = pRtlGetCompressionWorkSpaceSize(COMPRESSION_FORMAT_DEFAULT, &compress_workspace,
-                                             &decompress_workspace);
+    status = RtlGetCompressionWorkSpaceSize(COMPRESSION_FORMAT_DEFAULT, &compress_workspace,
+                                            &decompress_workspace);
     ok(status == STATUS_INVALID_PARAMETER, "got wrong status 0x%08x\n", status);
 
-    status = pRtlGetCompressionWorkSpaceSize(0xFF, &compress_workspace, &decompress_workspace);
+    status = RtlGetCompressionWorkSpaceSize(0xFF, &compress_workspace, &decompress_workspace);
     ok(status == STATUS_UNSUPPORTED_COMPRESSION, "got wrong status 0x%08x\n", status);
 
     /* test LZNT1 with normal and maximum compression */
     compress_workspace = decompress_workspace = 0xdeadbeef;
-    status = pRtlGetCompressionWorkSpaceSize(COMPRESSION_FORMAT_LZNT1, &compress_workspace,
-                                             &decompress_workspace);
+    status = RtlGetCompressionWorkSpaceSize(COMPRESSION_FORMAT_LZNT1, &compress_workspace,
+                                            &decompress_workspace);
     ok(status == STATUS_SUCCESS, "got wrong status 0x%08x\n", status);
     ok(compress_workspace != 0, "got wrong compress_workspace %u\n", compress_workspace);
     ok(decompress_workspace == 0x1000, "got wrong decompress_workspace %u\n", decompress_workspace);
 
     compress_workspace = decompress_workspace = 0xdeadbeef;
-    status = pRtlGetCompressionWorkSpaceSize(COMPRESSION_FORMAT_LZNT1 | COMPRESSION_ENGINE_MAXIMUM,
-                                             &compress_workspace, &decompress_workspace);
+    status = RtlGetCompressionWorkSpaceSize(COMPRESSION_FORMAT_LZNT1 | COMPRESSION_ENGINE_MAXIMUM,
+                                            &compress_workspace, &decompress_workspace);
     ok(status == STATUS_SUCCESS, "got wrong status 0x%08x\n", status);
     ok(compress_workspace != 0, "got wrong compress_workspace %u\n", compress_workspace);
     ok(decompress_workspace == 0x1000, "got wrong decompress_workspace %u\n", decompress_workspace);
@@ -2718,7 +2537,7 @@ static BOOL is_incomplete_chunk(const UCHAR *compressed, ULONG compressed_size,
 
 static void test_RtlDecompressBuffer(void)
 {
-    static const struct
+    static struct
     {
         UCHAR compressed[32];
         ULONG compressed_size;
@@ -2925,28 +2744,22 @@ static void test_RtlDecompressBuffer(void)
     ULONG final_size;
     int i;
 
-    if (!pRtlDecompressBuffer || !pRtlDecompressFragment)
-    {
-        win_skip("RtlDecompressBuffer or RtlDecompressFragment is not available\n");
-        return;
-    }
-
     /* test compression format / engine */
     final_size = 0xdeadbeef;
-    status = pRtlDecompressBuffer(COMPRESSION_FORMAT_NONE, buf, sizeof(buf), test_lznt[0].compressed,
-                                  test_lznt[0].compressed_size, &final_size);
+    status = RtlDecompressBuffer(COMPRESSION_FORMAT_NONE, buf, sizeof(buf), test_lznt[0].compressed,
+                                 test_lznt[0].compressed_size, &final_size);
     ok(status == STATUS_INVALID_PARAMETER, "got wrong status 0x%08x\n", status);
     ok(final_size == 0xdeadbeef, "got wrong final_size %u\n", final_size);
 
     final_size = 0xdeadbeef;
-    status = pRtlDecompressBuffer(COMPRESSION_FORMAT_DEFAULT, buf, sizeof(buf), test_lznt[0].compressed,
-                                  test_lznt[0].compressed_size, &final_size);
+    status = RtlDecompressBuffer(COMPRESSION_FORMAT_DEFAULT, buf, sizeof(buf), test_lznt[0].compressed,
+                                 test_lznt[0].compressed_size, &final_size);
     ok(status == STATUS_INVALID_PARAMETER, "got wrong status 0x%08x\n", status);
     ok(final_size == 0xdeadbeef, "got wrong final_size %u\n", final_size);
 
     final_size = 0xdeadbeef;
-    status = pRtlDecompressBuffer(0xFF, buf, sizeof(buf), test_lznt[0].compressed,
-                                  test_lznt[0].compressed_size, &final_size);
+    status = RtlDecompressBuffer(0xFF, buf, sizeof(buf), test_lznt[0].compressed,
+                                 test_lznt[0].compressed_size, &final_size);
     ok(status == STATUS_UNSUPPORTED_COMPRESSION, "got wrong status 0x%08x\n", status);
     ok(final_size == 0xdeadbeef, "got wrong final_size %u\n", final_size);
 
@@ -2959,8 +2772,8 @@ static void test_RtlDecompressBuffer(void)
         /* test with very big buffer */
         final_size = 0xdeadbeef;
         memset(buf, 0x11, sizeof(buf));
-        status = pRtlDecompressBuffer(COMPRESSION_FORMAT_LZNT1, buf, sizeof(buf), test_lznt[i].compressed,
-                                      test_lznt[i].compressed_size, &final_size);
+        status = RtlDecompressBuffer(COMPRESSION_FORMAT_LZNT1, buf, sizeof(buf), test_lznt[i].compressed,
+                                     test_lznt[i].compressed_size, &final_size);
         ok(status == test_lznt[i].status || broken(status == STATUS_BAD_COMPRESSION_BUFFER &&
            (test_lznt[i].broken_flags & DECOMPRESS_BROKEN_FRAGMENT)), "%d: got wrong status 0x%08x\n", i, status);
         if (!status)
@@ -2976,8 +2789,8 @@ static void test_RtlDecompressBuffer(void)
         /* test that modifier for compression engine is ignored */
         final_size = 0xdeadbeef;
         memset(buf, 0x11, sizeof(buf));
-        status = pRtlDecompressBuffer(COMPRESSION_FORMAT_LZNT1 | COMPRESSION_ENGINE_MAXIMUM, buf, sizeof(buf),
-                                      test_lznt[i].compressed, test_lznt[i].compressed_size, &final_size);
+        status = RtlDecompressBuffer(COMPRESSION_FORMAT_LZNT1 | COMPRESSION_ENGINE_MAXIMUM, buf, sizeof(buf),
+                                     test_lznt[i].compressed, test_lznt[i].compressed_size, &final_size);
         ok(status == test_lznt[i].status || broken(status == STATUS_BAD_COMPRESSION_BUFFER &&
            (test_lznt[i].broken_flags & DECOMPRESS_BROKEN_FRAGMENT)), "%d: got wrong status 0x%08x\n", i, status);
         if (!status)
@@ -2995,8 +2808,8 @@ static void test_RtlDecompressBuffer(void)
         {
             final_size = 0xdeadbeef;
             memset(buf, 0x11, sizeof(buf));
-            status = pRtlDecompressBuffer(COMPRESSION_FORMAT_LZNT1, buf, test_lznt[i].uncompressed_size,
-                                          test_lznt[i].compressed, test_lznt[i].compressed_size, &final_size);
+            status = RtlDecompressBuffer(COMPRESSION_FORMAT_LZNT1, buf, test_lznt[i].uncompressed_size,
+                                         test_lznt[i].compressed, test_lznt[i].compressed_size, &final_size);
             ok(status == test_lznt[i].status, "%d: got wrong status 0x%08x\n", i, status);
             if (!status)
             {
@@ -3014,8 +2827,8 @@ static void test_RtlDecompressBuffer(void)
         {
             final_size = 0xdeadbeef;
             memset(buf, 0x11, sizeof(buf));
-            status = pRtlDecompressBuffer(COMPRESSION_FORMAT_LZNT1, buf, test_lznt[i].uncompressed_size - 1,
-                                          test_lznt[i].compressed, test_lznt[i].compressed_size, &final_size);
+            status = RtlDecompressBuffer(COMPRESSION_FORMAT_LZNT1, buf, test_lznt[i].uncompressed_size - 1,
+                                         test_lznt[i].compressed, test_lznt[i].compressed_size, &final_size);
             if (test_lznt[i].broken_flags & DECOMPRESS_BROKEN_TRUNCATED)
                 todo_wine
                 ok(status == STATUS_BAD_COMPRESSION_BUFFER, "%d: got wrong status 0x%08x\n", i, status);
@@ -3035,8 +2848,8 @@ static void test_RtlDecompressBuffer(void)
         /* test with zero output size */
         final_size = 0xdeadbeef;
         memset(buf, 0x11, sizeof(buf));
-        status = pRtlDecompressBuffer(COMPRESSION_FORMAT_LZNT1, buf, 0, test_lznt[i].compressed,
-                                      test_lznt[i].compressed_size, &final_size);
+        status = RtlDecompressBuffer(COMPRESSION_FORMAT_LZNT1, buf, 0, test_lznt[i].compressed,
+                                     test_lznt[i].compressed_size, &final_size);
         if (is_incomplete_chunk(test_lznt[i].compressed, test_lznt[i].compressed_size, FALSE))
             ok(status == STATUS_BAD_COMPRESSION_BUFFER, "%d: got wrong status 0x%08x\n", i, status);
         else
@@ -3049,8 +2862,8 @@ static void test_RtlDecompressBuffer(void)
         /* test RtlDecompressFragment with offset = 0 */
         final_size = 0xdeadbeef;
         memset(buf, 0x11, sizeof(buf));
-        status = pRtlDecompressFragment(COMPRESSION_FORMAT_LZNT1, buf, sizeof(buf), test_lznt[i].compressed,
-                                        test_lznt[i].compressed_size, 0, &final_size, workspace);
+        status = RtlDecompressFragment(COMPRESSION_FORMAT_LZNT1, buf, sizeof(buf), test_lznt[i].compressed,
+                                       test_lznt[i].compressed_size, 0, &final_size, workspace);
         if (test_lznt[i].broken_flags & DECOMPRESS_BROKEN_FRAGMENT)
             todo_wine
             ok(status == STATUS_BAD_COMPRESSION_BUFFER, "%d: got wrong status 0x%08x\n", i, status);
@@ -3069,8 +2882,8 @@ static void test_RtlDecompressBuffer(void)
         /* test RtlDecompressFragment with offset = 1 */
         final_size = 0xdeadbeef;
         memset(buf, 0x11, sizeof(buf));
-        status = pRtlDecompressFragment(COMPRESSION_FORMAT_LZNT1, buf, sizeof(buf), test_lznt[i].compressed,
-                                        test_lznt[i].compressed_size, 1, &final_size, workspace);
+        status = RtlDecompressFragment(COMPRESSION_FORMAT_LZNT1, buf, sizeof(buf), test_lznt[i].compressed,
+                                       test_lznt[i].compressed_size, 1, &final_size, workspace);
         if (test_lznt[i].broken_flags & DECOMPRESS_BROKEN_FRAGMENT)
             todo_wine
             ok(status == STATUS_BAD_COMPRESSION_BUFFER, "%d: got wrong status 0x%08x\n", i, status);
@@ -3099,8 +2912,8 @@ static void test_RtlDecompressBuffer(void)
         /* test RtlDecompressFragment with offset = 4095 */
         final_size = 0xdeadbeef;
         memset(buf, 0x11, sizeof(buf));
-        status = pRtlDecompressFragment(COMPRESSION_FORMAT_LZNT1, buf, sizeof(buf), test_lznt[i].compressed,
-                                        test_lznt[i].compressed_size, 4095, &final_size, workspace);
+        status = RtlDecompressFragment(COMPRESSION_FORMAT_LZNT1, buf, sizeof(buf), test_lznt[i].compressed,
+                                       test_lznt[i].compressed_size, 4095, &final_size, workspace);
         if (test_lznt[i].broken_flags & DECOMPRESS_BROKEN_FRAGMENT)
             todo_wine
             ok(status == STATUS_BAD_COMPRESSION_BUFFER, "%d: got wrong status 0x%08x\n", i, status);
@@ -3118,8 +2931,8 @@ static void test_RtlDecompressBuffer(void)
         /* test RtlDecompressFragment with offset = 4096 */
         final_size = 0xdeadbeef;
         memset(buf, 0x11, sizeof(buf));
-        status = pRtlDecompressFragment(COMPRESSION_FORMAT_LZNT1, buf, sizeof(buf), test_lznt[i].compressed,
-                                        test_lznt[i].compressed_size, 4096, &final_size, workspace);
+        status = RtlDecompressFragment(COMPRESSION_FORMAT_LZNT1, buf, sizeof(buf), test_lznt[i].compressed,
+                                       test_lznt[i].compressed_size, 4096, &final_size, workspace);
         expected_status = is_incomplete_chunk(test_lznt[i].compressed, test_lznt[i].compressed_size, TRUE) ?
                           test_lznt[i].status : STATUS_SUCCESS;
         ok(status == expected_status, "%d: got wrong status 0x%08x, expected 0x%08x\n", i, status, expected_status);
@@ -3384,41 +3197,35 @@ static void test_RtlMakeSelfRelativeSD(void)
     NTSTATUS status;
     DWORD len;
 
-    if (!pRtlMakeSelfRelativeSD || !pRtlAbsoluteToSelfRelativeSD)
-    {
-        win_skip( "RtlMakeSelfRelativeSD/RtlAbsoluteToSelfRelativeSD not available\n" );
-        return;
-    }
-
     memset( &sd, 0, sizeof(sd) );
     sd.Revision = SECURITY_DESCRIPTOR_REVISION;
 
     len = 0;
-    status = pRtlMakeSelfRelativeSD( &sd, NULL, &len );
+    status = RtlMakeSelfRelativeSD( &sd, NULL, &len );
     ok( status == STATUS_BUFFER_TOO_SMALL, "got %08x\n", status );
     ok( len == sizeof(*sd_rel), "got %u\n", len );
 
     len += 4;
-    status = pRtlMakeSelfRelativeSD( &sd, sd_rel, &len );
+    status = RtlMakeSelfRelativeSD( &sd, sd_rel, &len );
     ok( status == STATUS_SUCCESS, "got %08x\n", status );
     ok( len == sizeof(*sd_rel) + 4, "got %u\n", len );
 
     len = 0;
-    status = pRtlAbsoluteToSelfRelativeSD( &sd, NULL, &len );
+    status = RtlAbsoluteToSelfRelativeSD( &sd, NULL, &len );
     ok( status == STATUS_BUFFER_TOO_SMALL, "got %08x\n", status );
     ok( len == sizeof(*sd_rel), "got %u\n", len );
 
     len += 4;
-    status = pRtlAbsoluteToSelfRelativeSD( &sd, sd_rel, &len );
+    status = RtlAbsoluteToSelfRelativeSD( &sd, sd_rel, &len );
     ok( status == STATUS_SUCCESS, "got %08x\n", status );
     ok( len == sizeof(*sd_rel) + 4, "got %u\n", len );
 
     sd.Control = SE_SELF_RELATIVE;
-    status = pRtlMakeSelfRelativeSD( &sd, sd_rel, &len );
+    status = RtlMakeSelfRelativeSD( &sd, sd_rel, &len );
     ok( status == STATUS_SUCCESS, "got %08x\n", status );
     ok( len == sizeof(*sd_rel) + 4, "got %u\n", len );
 
-    status = pRtlAbsoluteToSelfRelativeSD( &sd, sd_rel, &len );
+    status = RtlAbsoluteToSelfRelativeSD( &sd, sd_rel, &len );
     ok( status == STATUS_BAD_DESCRIPTOR_FORMAT, "got %08x\n", status );
 }
 
-- 
2.26.2




More information about the wine-devel mailing list