el_teedee
Messages postés497Date d'inscriptionmercredi 7 juillet 2004StatutMembreDernière intervention13 juillet 2015
-
2 août 2005 à 14:34
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 2012
-
2 août 2005 à 15:23
Salut,
j'ai copié un bout de code de PInvoke.net, et dedans, il y a la fonction GetLastError, mais j'ai une erreur sur cette ligne :
Le nom 'GetLastError' n'existe pas dans la classe ni dans l'espace de noms 'nom_projet.ma_classe'
Alors en fait, je viens de trouver l'erreur, ou plutôt j'ai contourné l'erreur, je viens de voir que la fonction AllocHGlobal est un membre de Marshall, qui contient, ô miracle la fonction GetLastWin32Error().
J'ai donc remplacé comme ceci :
else if(GetLastError() == ERROR_INSUFFICIENT_BUFFER) par
[C#]
using System.Runtime.InteropServices;
public class Win32 {
[DllImport("user32.dll", SetLastError=true)]
public static extern int MessageBoxA(int hWnd, String text,
String caption, uint type);
}
Alors je veux bien, mais je fais comment pour ma fonction QueryDosDevice ? Je peux faire ça ?
el_teedee
Messages postés497Date d'inscriptionmercredi 7 juillet 2004StatutMembreDernière intervention13 juillet 20159 2 août 2005 à 14:57
Oui, ca j'ai bien compris, j'utilise maintenant GetLastWin32Error(), jusque là on est d'accord ?
Maintenant, je voulais juste savoir si pour activer le SetLastError, je
pouvais le mettre tel que je l'ai marqué ci dessus. Mais apparemment ca
marche.
PS : le but de tout ça est de me retourner tous les ports COM disponibles sur ma machine.