Ci-joint le code écrit il y a dix ans (par un débutant) pour une DLL (perso) 16 BITS IN_OUT.DLL. Cela permet d'accéder aux ports à partir de VisualBasic 3 (qui ne le permet pas).
#include <windows.h>
#include <conio.h>
int FAR PASCAL LibMain(HANDLE hInstance, WORD wDataSeg, WORD cpHeapSize, LPSTR lpszCmdLine)
{
return 1;
}
int FAR PASCAL WEP(int nParameter)
{
return 1;
}
int FAR PASCAL _export in(int Valeur)
{
return inp(Valeur);
}
void FAR PASCAL _export out(int Adresse, int Valeur)
{
outp(Adresse, Valeur);
}
Déclaration sous VB3 :
Declare Function IN Lib "IN_OUT.DLL" (ByVal address%) As Integer
Declare Sub OUT Lib "IN_OUT.DLL" (ByVal address%, ByVal value%)
Utilisation sous VB3 :
OUT Adresse%, Valeur%
Dummy% = IN(Adresse%)
en BC, pas encore essayé
h = LoadLibrary(NomDLL); devrait convenir
puis
FreeLibrary(h); quand plus besoin
Faudrait que je teste l'accès aux port du haut-parleur sous Win98/BC++5 ce soir, voir si cela fonctionne directement (??).