Francois Gouget : advapi32: Add a rudimentary implementation of CredGetSessionTypes().
Alexandre Julliard
julliard at winehq.org
Fri Feb 15 05:36:08 CST 2008
Module: wine
Branch: master
Commit: ddab29b7d16bc0184f33cf63887dd8c74c0ad201
URL: http://source.winehq.org/git/wine.git/?a=commit;h=ddab29b7d16bc0184f33cf63887dd8c74c0ad201
Author: Francois Gouget <fgouget at free.fr>
Date: Wed Feb 13 22:06:44 2008 +0100
advapi32: Add a rudimentary implementation of CredGetSessionTypes().
---
dlls/advapi32/advapi32.spec | 2 +-
dlls/advapi32/cred.c | 20 ++++++++++++++++++++
include/wincred.h | 1 +
3 files changed, 22 insertions(+), 1 deletions(-)
diff --git a/dlls/advapi32/advapi32.spec b/dlls/advapi32/advapi32.spec
index 738b4df..17dac6d 100644
--- a/dlls/advapi32/advapi32.spec
+++ b/dlls/advapi32/advapi32.spec
@@ -107,7 +107,7 @@
@ stdcall CredEnumerateA(str long ptr ptr)
@ stdcall CredEnumerateW(wstr long ptr ptr)
@ stdcall CredFree(ptr)
-# @ stub CredGetSessionTypes
+@ stdcall CredGetSessionTypes(long ptr)
# @ stub CredGetTargetInfoA
# @ stub CredGetTargetInfoW
# @ stub CredIsMarshaledCredentialA
diff --git a/dlls/advapi32/cred.c b/dlls/advapi32/cred.c
index e81a171..ab988da 100644
--- a/dlls/advapi32/cred.c
+++ b/dlls/advapi32/cred.c
@@ -1670,3 +1670,23 @@ BOOL WINAPI CredWriteW(PCREDENTIALW Credential, DWORD Flags)
}
return TRUE;
}
+
+/******************************************************************************
+ * CredGetSessionTypes [ADVAPI32.@]
+ */
+WINADVAPI BOOL WINAPI CredGetSessionTypes(DWORD persistCount, LPDWORD persists)
+{
+ TRACE("(%u, %p)\n", persistCount, persists);
+
+ memset(persists, CRED_PERSIST_NONE, persistCount*sizeof(*persists));
+ if (CRED_TYPE_GENERIC < persistCount)
+ {
+ persists[CRED_TYPE_GENERIC] = CRED_PERSIST_ENTERPRISE;
+
+ if (CRED_TYPE_DOMAIN_PASSWORD < persistCount)
+ {
+ persists[CRED_TYPE_DOMAIN_PASSWORD] = CRED_PERSIST_ENTERPRISE;
+ }
+ }
+ return TRUE;
+}
diff --git a/include/wincred.h b/include/wincred.h
index 2b606a4..5865063 100644
--- a/include/wincred.h
+++ b/include/wincred.h
@@ -185,6 +185,7 @@ WINADVAPI BOOL WINAPI CredEnumerateA(LPCSTR,DWORD,DWORD *,PCREDENTIALA **);
WINADVAPI BOOL WINAPI CredEnumerateW(LPCWSTR,DWORD,DWORD *,PCREDENTIALW **);
#define CredEnumerate WINELIB_NAME_AW(CredEnumerate)
WINADVAPI VOID WINAPI CredFree(PVOID);
+WINADVAPI BOOL WINAPI CredGetSessionTypes(DWORD,LPDWORD);
WINADVAPI BOOL WINAPI CredReadA(LPCSTR,DWORD,DWORD,PCREDENTIALA *);
WINADVAPI BOOL WINAPI CredReadW(LPCWSTR,DWORD,DWORD,PCREDENTIALW *);
#define CredRead WINELIB_NAME_AW(CredRead)
More information about the wine-cvs
mailing list