FiX a écrit:Ouh là...
Je sais pas pourquoi mais je sens que tu vas t'entendre avec Jeehel et Guda toi...

Vois pas de quoi tu parles
Déjà, la réponse simple et brute à ta question, telle qu'elle est posée, est non.
Bon sinon très bonne question que tu poses là. Pour les non-initiés ET non-intéressés par la programmation, mieux vaut passer votre chemin, ça va être technique là

.
Comment marche FSUIPC? Il s'agit d'une DLL (placée dans le dossier "modules" de FS) et chargée par FS qui crée un fichier mappé en mémoire qui prend la modique place de xFF80 octets (soit 65408 octets, pour les non-initiés intéressés

).
Pour te connecter à FSUIPC, en fait pour ouvrir le fichier mappé, et en extraire des "vues", tu vas devoir donc retrouver la trace du-dit fichier (les headers exemples fournis avec FSUIPC sont généralement bien commentés, tu devrais t'y retrouver rapidement).
Avec le handle du mappedfile, tu ne pourras pas encore faire tout ce que tu veux. Comme le même fichier est ouvert en lecture par au moins deux process différents (la DLL et ton appli), il faut une bonne discipline pour gérer l'écriture et éviter les collisions, qui donnent des valeurs incohérentes.
Donc, côté appli, il y a 3 fonctions à utiliser (c'est comme ça que les fichiers SDK fournis fonctionnent tous):
-FSUIPC_Read
-FSUIPC_Write
-FSUIPC_Process
Dans les fonctions _Read/_Write, tu en fait ne lis ni n'écrit quoi que ce soit. Tu fais une demande de lecture et/ou écriture, en fournissant les pointeurs vers les variables de réception/émission. La lecture/écriture effective sera en fait effectuée dans l'appel à la fonction _Process, en une seule fois, pour éviter de pénaliser le temps d'ouverture côté appli du fichier mappé.
Voila pour les bases de FSUIPC. Alors pourquoi non à ta question:
- Tu ne peux pas aller au delà des xFF80 octets en rajoutant tes propres pages, car soit cela changerait la taille du fichier mappé, et là la DLL n'apprécierait sûrement guère, soit tu écrirais dans la RAM au-delà du fichier, et là ton OS n'apprécierais guère...
-Tu peux écrire dans les offsets persos sans trop de craintes, essaye de prendre des plages aléatoires et ça va le faire.
-Ou demander à P.Dowson une attribution (gratuite) d'offsets fixés à ton nom.
-Le temps supplémentaire pour écrire/lire quelques offsets en plus est négligeable (mon soft lis/écris toutes les 50 à 100 ms plus de 200 offsets)
-Si tu veux gérer du hardware sans passer par FSUIPC, regarde SIOC, qui permet facilement de modifier/lire des variables SIOC (et donc hardware) par un simple protocole TCP/IP.
j'espère avoir été clair
@+
JeeHell