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);