Re: Problem WideCharToMultiByte oder wie "String von Long"

Tech Tip: Click here to run a free scan for Windows Errors and optimize PC performance



Hallo Udo

> Mein VB6 Code läuft wunderbar, hätte an dieser Stelle nicht soviele Probleme erwartet.

irrelevant, .NET PInvoke ist nicht direkt vergleichbar (da wesentlich besser).
Und VB6-Code sollte man da keinesfalls als Vorlage nehmen, kommt meistens falsch.


Ich vermute mal grob, wenn es um DFS_INFO_3 geht dann auch
um die Win32 APIs wie :
NetDfsGetClientInfo, NetDfsGetInfo, NetDfsEnum


Dann sind nämlich solche eigenartige Umwege für Strings usw. kaum notwendig,
sondern es sollte mit ordentlicher Structure -Definition & Marshalling auch gehen,
ähnlich wie etwa:
http://groups.google.de/group/microsoft.public.de.german.entwickler.dotnet.vb/msg/183ad201a6c02e64

Wichtig:
Fehler in PInvoke sind fatal, bewirken sonst-irgendwo/irgendwann Crashs, Leaks & Corruption, trotz managed .NET!
(dass ein PInvoke-Aufruf mal ohne Fehler/Exception klappt ist noch gar kein Beweis für Korrektheit)

Daher ist 'probieren' hier nahezu sinnfrei, sondern der SourceCode -muss- stimmen.




--
Thomas Scheidegger - MVP .NET - 'NETMaster'
http://www.cetus-links.org/oo_dotnet.html - http://dnetmaster.net/


.



Relevant Pages

  • Re: MarshalDirectiveException
    ... es geht da nun um PInvoke .NET ... ... > MarshalDirectvieException was unhandled - PInvoke restriction: cannot return variants ... Next by Date: ...
    (microsoft.public.de.german.entwickler.dotnet.vb)
  • Re: Bilder von Webcam auslese
    ... > Für .NET ist TWAIN auch nur mit umfangreichem PInvoke möglich, ... für alles rund um Video-Bilder gibt es die ... > was relativ einfach zu programmieren war (.NET PInvoke), ...
    (microsoft.public.de.german.entwickler.dotnet.csharp)
  • Re: Zeiger auf C++-Struktur
    ... Vorab, wichtig: ... Denn mit PInvoke kann man genauso einfach Crash & Leaks & Memory-Corruption usw. ... In .NET sind Definition viel strikter, ... es geht nur um _einen_ String von fix 80 Zeichen: ...
    (microsoft.public.de.german.entwickler.dotnet.csharp)
  • Herausfinden ob Workstation oder Server,...
    ... gibt es in .NET eine Funktion mit der ich herausfinden kann, ... einen Server handelt, ohne PInvoke? ... Der Aufruf kapselt halt den ganzen Registry Fummel. ... Kann man das irgendwo im .NET in irgend einer Klasse ohne PInvoke abrufen? ...
    (microsoft.public.de.german.entwickler.dotnet.csharp)
  • Re: Funktion aus standard DLL aufrufen
    ... .NET PInvoke hat eigene Regeln. ... Private Structure IODBPMC ... 'Len' ist ungeeignet für PInvoke, ... Falsches Handle kann Exception/Absturz bewirken! ...
    (microsoft.public.de.german.entwickler.dotnet.vb)