Cela signifie que l'argument CInt
est hors de portée de Integer
, -0x80000000 à 0x7FFFFFFF Et il arrive quand NetApiBufferFree
renvoie une erreur: les codes d'erreur sont plus grandes que 0x80000000. Il n'y a pas de type int32 non signé, utilisez CLng
au lieu de CInt
.
À propos de la source d'erreur. Vous devriez trouver le code d'erreur que vous obtenez: appelez MsgBox ou enregistrez-le dans un fichier, ou utilisez le point d'arrêt. Suivant trouver sa description. Si cela ne vous aide pas (par exemple erreur serait E_FAIL), ajoutez le code pour vérifier que la valeur pBuffer
est valide - qu'elle n'a pas été modifiée par quelque chose, et n'a pas déjà été libérée. Ajoutez la journalisation pour les appels NetApiBuffer*
.
+1. Assurez-vous également que 'Result' est effectivement déclaré' Long'. En outre, activez 'Option Strict' pour que le compilateur vous avertisse quand vous pourriez être vulnérable à ce genre de chose. – MarkJ
Cher Abyx merci beaucoup pour votre réponse qui précise mais il ne me pointe pas à la source de mon problème, je veux dire par là ce que je dois faire pour gérer cette erreur? Pour l'instant j'ai suspendu l'instruction pour Buffer Free jusqu'à ce que je vois comment le gérer. Pouvez-vous m'aider à ce sujet? –
Ne le manipule pas - répare-le! –