static Tuple <string, string> ReadCredential(string targetName) { IntPtr nCredPtr; bool read = NativeMethods.CredRead(targetName, NativeCredentialType.Generic, 0, out nCredPtr); if (!read) { return(null); } using (var critCred = new CriticalCredentialHandle(nCredPtr)) { var cred = critCred.GetCredential(); if (cred.HasValue) { return(Tuple.Create(cred.Value.UserName, cred.Value.CredentialBlob)); } return(Tuple.Create(string.Empty, string.Empty)); } }
static Tuple<string, string> ReadCredential (string targetName) { IntPtr nCredPtr; bool read = NativeMethods.CredRead (targetName, NativeCredentialType.Generic, 0, out nCredPtr); if (!read) return null; using (var critCred = new CriticalCredentialHandle (nCredPtr)) { var cred = critCred.GetCredential (); if (cred.HasValue) return Tuple.Create (cred.Value.UserName, cred.Value.CredentialBlob); return Tuple.Create (string.Empty, string.Empty); } }