Orc.NuGetExplorer.Native.CredUi.CredWrite C# (CSharp) Method

CredWrite() private method

private CredWrite ( NativeCredential &Credential, int Flags ) : bool
Credential NativeCredential
Flags int
return bool
        internal static extern bool CredWrite(ref NativeCredential Credential, int Flags);

Usage Example

Example #1
0
        private static bool WriteCredential(string key, string userName, string secret)
        {
            var byteArray = Encoding.Unicode.GetBytes(secret);

            if (byteArray.Length > 512)
            {
                throw new ArgumentOutOfRangeException("secret", "The secret message has exceeded 512 bytes.");
            }

            var cred = new CredUi.Credential();

            cred.TargetName         = key;
            cred.UserName           = userName;
            cred.CredentialBlob     = secret;
            cred.CredentialBlobSize = (UInt32)Encoding.Unicode.GetBytes(secret).Length;
            cred.AttributeCount     = 0;
            cred.Attributes         = IntPtr.Zero;
            cred.Comment            = null;
            cred.TargetAlias        = null;
            cred.Type    = CredUi.CredTypes.CRED_TYPE_GENERIC;
            cred.Persist = CredUi.IsWindowsVistaOrEarlier ? CredUi.CredPersistance.Session : CredUi.CredPersistance.LocalMachine;

            var ncred     = CredUi.NativeCredential.GetNativeCredential(cred);
            var written   = CredUi.CredWrite(ref ncred, 0);
            var lastError = Marshal.GetLastWin32Error();

            if (!written)
            {
                var message = string.Format("CredWrite failed with the error code {0}.", lastError);
                throw new CredentialException(lastError, message);
            }

            return(true);
        }
All Usage Examples Of Orc.NuGetExplorer.Native.CredUi::CredWrite