marshalling af managed String* til LPCWStr til brug i directshow
Hej.Jeg arbejder på en audioafspiller i stil med winamp, men har et problem med marshalling, som jeg ikke kender noget særligt til.
Jeg bruger VisualStudio.NET fra 2003 og .NET framework 1.1
Problemet består i at en funktion i directShow fra DX9, skal bruge en pointer til en filsti af typen LPCWStr, men filstien er gemt i et stringarray., da der skal laves forskellige stringoperationer på det.
Mit håb er at der er en der kan hjælpe mig med at læse strengen ind i en LPCWStr variabel, da det vil spare mig for en masse besvær.
Den måde jeg har forsøgt er følgende:
void minFunktion(
[MarshalAs(UnmanagedType::LPWStr)]String* sti_til_fil
)
{
hr = pGraph->RenderFile(stil_til_fil,NULL);
}
//Ideen er at funktionskaldet skal ændre argumentet, men den angiver stadig variablen sti_til_fil som værende en managed string.
/*
Definitionen på RenderFile er:
HRESULT RenderFile(
LPCWStr lpwstrFile,
LPCWStr spwstrPlayList
);
jeg er lost. Håber nogen kan hjælpe mig.
På forhånd tak!
Hilsen Dan
*/