Example #1
0
        private static bool SaveCredential(Credential credential, string password)
        {
            var passwordUnicodeBytesLength = (uint)Encoding.Unicode.GetBytes(password).Length;

            var nativePassword = Marshal.StringToHGlobalUni(password);

            var nativeCredential = new Marshaler.NativeCredential
            {
                Flags              = credential.Flags,
                Type               = credential.Type,
                TargetName         = credential.TargetName,
                CredentialBlob     = nativePassword,
                CredentialBlobSize = passwordUnicodeBytesLength,
                Persist            = credential.Persist,
                UserName           = credential.UserName
            };

            var result = NativeInterop.CredWrite(nativeCredential, 0);

            return(result);
        }
 public static extern bool CredWrite(Marshaler.NativeCredential data, int flag);