Paul Vriens : advapi32/tests: Add check to see if ImpersonateSelf is implemented.

Alexandre Julliard julliard at wine.codeweavers.com
Fri Mar 30 06:20:11 CDT 2007


Module: wine
Branch: master
Commit: 33b8ec1cb5e222f9b8078d2e5d580cdf368a66fb
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=33b8ec1cb5e222f9b8078d2e5d580cdf368a66fb

Author: Paul Vriens <paul.vriens.wine at gmail.com>
Date:   Thu Mar 29 21:19:32 2007 +0200

advapi32/tests: Add check to see if ImpersonateSelf is implemented.

---

 dlls/advapi32/tests/security.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c
index cdf8084..88c0d96 100644
--- a/dlls/advapi32/tests/security.c
+++ b/dlls/advapi32/tests/security.c
@@ -1608,10 +1608,16 @@ static void test_impersonation_level(void)
 
     pDuplicateTokenEx = (fnDuplicateTokenEx) GetProcAddress(hmod, "DuplicateTokenEx");
     if( !pDuplicateTokenEx ) {
-        skip("DuplicateTokenEx\n");
+        skip("DuplicateTokenEx is not available\n");
         return;
     }
+    SetLastError(0xdeadbeef);
     ret = ImpersonateSelf(SecurityAnonymous);
+    if(!ret && (GetLastError() == ERROR_CALL_NOT_IMPLEMENTED))
+    {
+        skip("ImpersonateSelf is not implemented\n");
+        return;
+    }
     ok(ret, "ImpersonateSelf(SecurityAnonymous) failed with error %d\n", GetLastError());
     ret = OpenThreadToken(GetCurrentThread(), TOKEN_QUERY | TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY_SOURCE | TOKEN_IMPERSONATE | TOKEN_ADJUST_DEFAULT, TRUE, &Token);
     ok(!ret, "OpenThreadToken should have failed\n");




More information about the wine-cvs mailing list