[C#]C'est quoi un GUID?

fafa139
[C#]C'est quoi un GUID?

Salut à tous,
J'ai une DLL contenat une méthode qui prend comme paramètre System.GUID.
C'est quoi un GUID, et par quoi le remplacer dans mon application?
Merci,
Afef

fredericmazue

GUID veut dire Global Unique IDentificateur. c'est un nom unique codé sur 128 bits, généré par les APIs Windows pour identifier de manière unique (comme dirait La Palice) plein de choses, les composants COM notamment.
Tu ne peux le remplacer par rien. Quand une API te demande un GUID tu dois lui fournir un GUID.

C'est le GUID de quoi qu'il te faut ?

fafa139
[C#]C'est quoi un GUID?

En effet, je cherche à lister les serveurs OPC qui sont installés dans les machines de mon voisinage réseau(OPC est un standard basé sur COM/DCOM et qui réalse une architecture client-serveur)
La fonction que je dois utiliser est:
OPC.Common.OpcServerList.ListAll(System.Guid, string, out OPC.Common.OpcServers[])
Cette fonction me permet de lister les serveurs disponibles en une seule machine, et je dois réitérer pour chaque machine afin d'obtenir la liste complète.
Je n'ai pas compris c'est quoi le guid demandé?
Merci,
Afef

fredericmazue

Les serveurs OPC sont effectivement basés sur COM et c'est pourquoi je te proposait WMI comme solution pour les resencer.
Tu aurais pu dire tout de suite que tu avais une librairie pour ça....

System.Guid est une structure .Net qui encapsule le GUID natif (le nombre 128 bits) de Windows. A priori la fonction que tu cites attend de recevoir une telle structure correctement initialisée, c'est à dire remplie avec le bon GUID. Tu vas dire que tout ça ne t'avance pas car tu ne connais toujours pas la valeur du GUID. Malheureusement je ne peux pas t'aider plus, faute d'informations supplémentaires sur ta librairie.
Je te propose une piste de recherche: il se pourrait que ta librairie inter-opère avec un composant COM sans doute situé côté serveur. Dans ce cas je parierais assez volontiers que c'est le GUID de ce composant qu'il faut passer. Pour le connaître, tu le trouves soit dans la doc du serveur OPC avec lequel tu travailles, soit dans un fichier en-tête (si écrit en C/C++) soit tu vas le chercher manuellement une fois dans la base de registre d'une des machines hôtes des serveurs OPC.