2010-02-24 2 views
0

P/Invoke sur les exceptions de référence null x64P/Invoke sur les exceptions de référence null x64

Je reçois des exceptions référence null lorsque je tente de compiler pour x64 dans le code .NET qui utilise des services d'invocation de plate-forme pour appeler du code non managé dans les DLL. Est-ce que je manque quelque chose d'évident ici?

par exemple. appel à

Private Declare Function waveOutOpen Lib "winmm.dll" (ByRef lphWaveOut As Int32, ByVal uDeviceID As Int32, ByRef lpFormat As WAVEFORMATEX, ByVal dwCallback As WaveDelegate, ByVal dwInstance As Int32, ByVal dwFlags As Int32) As Int32 

échoue dans:

code complet ici: waveout sometimes memory issue

+1

Vous devez fournir plus de détails sur le code P/Invoke que vous essayez d'appeler. A quoi ressemble votre signature P/I, etc? –

Répondre

0

Il n'y a pas la version 64 bits de ce dll non géré. La version 32 bits est appelée et bien sûr les choses ne s'alignent pas vraiment?

2

Utilisez-vous peut-être un groupe de int (32 bits de taille fixe) où, en fait, un IntPtr (la taille varie en fonction de la plate-forme) serait nécessaire?

+0

peut-être cela pourrait-il être – PeanutPower