advapi32/tests: DuplicateTokenEx not present on all platforms
Detlef Riekenberg
wine.dev at web.de
Fri Mar 16 16:37:14 CDT 2007
advapi32/tests: DuplicateTokenEx not present on all platforms
--
By by ... Detlef
-------------- next part --------------
>From 68e8478593b4ad50c2d155a652f278bc78680a8c Mon Sep 17 00:00:00 2001
From: Detlef Riekenberg <wine.dev at web.de>
Date: Fri, 16 Mar 2007 22:35:29 +0100
Subject: [PATCH] advapi32/tests: DuplicateTokenEx not present on all platforms
---
dlls/advapi32/tests/security.c | 10 +++++++++-
1 files changed, 9 insertions(+), 1 deletions(-)
diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c
index 4de2476..7f44203 100644
--- a/dlls/advapi32/tests/security.c
+++ b/dlls/advapi32/tests/security.c
@@ -55,6 +55,8 @@ typedef BOOL (WINAPI *fnGetFileSecurityA
PSECURITY_DESCRIPTOR, DWORD, LPDWORD);
typedef DWORD (WINAPI *fnRtlAdjustPrivilege)(ULONG,BOOLEAN,BOOLEAN,PBOOLEAN);
typedef BOOL (WINAPI *fnCreateWellKnownSid)(WELL_KNOWN_SID_TYPE,PSID,PSID,DWORD*);
+typedef BOOL (WINAPI *fnDuplicateTokenEx)(HANDLE,DWORD,LPSECURITY_ATTRIBUTES,
+ SECURITY_IMPERSONATION_LEVEL,TOKEN_TYPE,PHANDLE);
typedef NTSTATUS (WINAPI *fnLsaQueryInformationPolicy)(LSA_HANDLE,POLICY_INFORMATION_CLASS,PVOID*);
typedef NTSTATUS (WINAPI *fnLsaClose)(LSA_HANDLE);
@@ -76,6 +78,7 @@ fnConvertStringSidToSidA pConvertStringS
fnGetFileSecurityA pGetFileSecurityA;
fnRtlAdjustPrivilege pRtlAdjustPrivilege;
fnCreateWellKnownSid pCreateWellKnownSid;
+fnDuplicateTokenEx pDuplicateTokenEx;
fnLsaQueryInformationPolicy pLsaQueryInformationPolicy;
fnLsaClose pLsaClose;
fnLsaFreeMemory pLsaFreeMemory;
@@ -1592,6 +1595,11 @@ static void test_impersonation_level(voi
HKEY hkey;
DWORD error;
+ pDuplicateTokenEx = (fnDuplicateTokenEx) GetProcAddress(hmod, "DuplicateTokenEx");
+ if( !pDuplicateTokenEx ) {
+ skip("DuplicateTokenEx\n");
+ return;
+ }
ret = ImpersonateSelf(SecurityAnonymous);
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);
@@ -1608,7 +1616,7 @@ static void test_impersonation_level(voi
ret = OpenProcessToken(GetCurrentProcess(), TOKEN_DUPLICATE, &ProcessToken);
ok(ret, "OpenProcessToken failed with error %d\n", GetLastError());
- ret = DuplicateTokenEx(ProcessToken,
+ ret = pDuplicateTokenEx(ProcessToken,
TOKEN_QUERY | TOKEN_DUPLICATE | TOKEN_IMPERSONATE, NULL,
SecurityAnonymous, TokenImpersonation, &Token);
ok(ret, "DuplicateTokenEx failed with error %d\n", GetLastError());
--
1.4.1
More information about the wine-patches
mailing list