Viene visualizzato un errore quando sto tentando di utilizzare platform invoke esempio in cui sto cercando di modificare il caso Lower e Upper di string.Errore di richiamo della piattaforma tentato di leggere o scrivere memoria protetta
Ecco quello che ho ottenuto finora:
class Program
{
[DllImport("User32.dll", EntryPoint = "CharLowerBuffA",
ExactSpelling = false,
CharSet = CharSet.Unicode,
SetLastError = true
)]
public static extern string CharLower(string lpsz);
[DllImport("User32.dll",
EntryPoint = "CharUpperBuffA",
ExactSpelling = false,
CharSet = CharSet.Unicode,
SetLastError = true
)]
public static extern string CharUpper(string lpsz);
static void Main(string[] args)
{
string l = "teSarf";
string ChangeToLower = CharLower(l.ToLower());
string ChangeToUpper = CharUpper(l.ToUpper());
Console.WriteLine("{0}", ChangeToLower);
Console.ReadLine();
}
}
io non sono sicuro di dove sto andando male con questo, ma penso che sia a che fare con la EntryPoint.
devo usare Unicode e CharLowerBuffW non ha funzionato neanche.
Come posso risolvere questo?
CharUpperBuffW ha ottenuto lo stesso risultato e ho bisogno di unicode –
Ho anche notato che manca il parametro length. Ho aggiornato la mia risposta. –