a little test shows it returns some unknown status on my xp lap[top: 0x7c927f00, so likely not STATUS_SUCCESS.
diff --git a/dlls/ntdll/tests/rtl.c b/dlls/ntdll/tests/rtl.c index 59871de..588e33e 100644 --- a/dlls/ntdll/tests/rtl.c +++ b/dlls/ntdll/tests/rtl.c @@ -66,6 +66,7 @@ static RTL_HANDLE * (WINAPI * pRtlAlloca 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 NTSTATUS (WINAPI *pRtlDllShutdownInProgress)(void); #define LEN 16 static const char* src_src = "This is a test!"; /* 16 bytes long, incl NUL */ static ULONG src_aligned_block[4]; @@ -97,6 +98,7 @@ static void InitFunctionPtrs(void) pRtlFreeHandle = (void *)GetProcAddress(hntdll, "RtlFreeHandle"); pRtlAllocateAndInitializeSid = (void *)GetProcAddress(hntdll, "RtlAllocateAndInitializeSid"); pRtlFreeSid = (void *)GetProcAddress(hntdll, "RtlFreeSid"); + pRtlDllShutdownInProgress = (void *)GetProcAddress(hntdll, "RtlDllShutdownInProgress"); } strcpy((char*)src_aligned_block, src_src); ok(strlen(src) == 15, "Source must be 16 bytes long!\n"); @@ -848,6 +850,13 @@ static void test_RtlComputeCrc32(void) ok(crc == 0x40861dc2,"Expected 0x40861dc2, got %8x\n", crc); }
+static void test_RtlDllShutdownInProgress(void) +{ + DWORD ret; + + ret = pRtlDllShutdownInProgress(); + ok(0x7c927f00 == ret,"Expected 0x7c927f00, got %08x\n", ret); +}
typedef struct MY_HANDLE { @@ -933,4 +942,6 @@ START_TEST(rtl) test_HandleTables(); if (pRtlAllocateAndInitializeSid) test_RtlAllocateAndInitializeSid(); + if (pRtlDllShutdownInProgress) + test_RtlDllShutdownInProgress(); }
Send instant messages to your online friends http://uk.messenger.yahoo.com