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