Mirari
Accès à un fichier
File: essai1.cpp - Tab length: 1 2 4 8 - Lines: on off - No wrap: on off

#include <stdio.h>
#include <conio.h>
#include <windows.h>

/* Definitions in the build of inpout32.dll are:            */
/*   short _stdcall Inp32(short PortAddress);               */
/*   void _stdcall Out32(short PortAddress, short data);    */
/* prototype (function typedef) for DLL function Inp32: */

     typedef short _stdcall (*inpfuncPtr)(short portaddr);
     typedef void _stdcall (*oupfuncPtr)(short portaddr, short datum);

int main(void)
{
     HINSTANCE hLib;
     inpfuncPtr inp32;
     oupfuncPtr oup32;

     short x;
     int i;

     /* Chargement de la librairie*/
     hLib = LoadLibrary("inpout32.dll");

     if (hLib == NULL)
    {
          printf("LoadLibrary Failed.\n");
          return -1;
     }
     /* R�cup�ration de l'adresse de la fonction avec "GetProcAddress" */
     inp32 = (inpfuncPtr) GetProcAddress(hLib, "Inp32");
     /* V�rification que la fonction existe */
     if (inp32 == NULL) {
          printf("GetProcAddress for Inp32 Failed.\n");
          return -1;
     }
     /* R�cup�ration de l'adresse de la fonction avec "GetProcAddress" */
     oup32 = (oupfuncPtr) GetProcAddress(hLib, "Out32");
     /* V�rification que la fonction existe */
     if (oup32 == NULL) {
          printf("GetProcAddress for Oup32 Failed.\n");
          return -1;
     }
     
     //initialisation du port,
(oup32)(0x378 + 2, 0x00);


//allumer ma LED
(oup32)(0x378, 1 << 3);


//etteindre ma led
//(oup32)(0x378, 0 << 3);



     FreeLibrary(hLib);
     return 0;
}

Cet affichage est obtenu après traitement par le site et peut ne pas correspondre à l'état original du fichier
© r3c 2011 :: 2 ms