Exemplo n.º 1
0
        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);
			}
		}