GUID: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m ortografia |
m Bot: Aggiungo: zh:全局唯一标识符; modifiche estetiche |
||
Riga 6:
Il GUID viene utilizzato per identificare in maniera univoca un determinato [[componente software]] COM; in questo modo due versioni (potenzialmente incompatibili) di uno stesso componente, anche con lo stesso nome, possono essere distinte tramite i loro codici GUID. Sebbene il GUID non garantisca un'effettiva unicità, il numero possibile di combinazioni (2<sup>128</sup>) è talmente elevato da scongiurare una coincidenza tra due codici. Per rendere l'idea, considerando che in tutto l'universo osservabile sono contenute 5×10<sup>22</sup> stelle, ad ogni singola stella potrebbero essere assegnati 6.8×10<sup>15</sup> diversi GUID.
Oltre ai componenti, sono marcati tramite GUID anche i documenti [[
La maggior parte dei GUID utilizzati da diverse applicazioni sono contenute nel [[registro di sistema]] di [[Windows]].
=== Struttura ===
Nella pratica un GUID è un numero di 128 [[bit]] (16 [[byte]]) in formato [[esadecimale]] quale può essere:
3F 25 04 E0 4F 89 11 D3 9A 0C 03 05 E8 2C 33 01
Riga 44:
Nel [[framework .NET]], è presente una classe apposita per la creazione di GUID, System.Guid.
=== Algoritmo ===
L'[[algoritmo]] specificato dalla OSF e utilizzato da Microsoft per la generazione dei GUID è stato oggetto di critica. Infatti tale algoritmo utilizzava come punto di partenza gli [[
Dopo che venne alla luce questo problema, Microsoft modificò l'algoritmo (implementato nell'[[Application programming interface|API]] <tt>[http://msdn2.microsoft.com/en-us/library/aa379205.aspx UuidCreate]</tt>) in modo che non dipendesse più dagli indirizzi MAC. È ancora possibile generare volontariamente GUID dipendenti dall'indirizzo MAC usando l'API <tt>[http://msdn2.microsoft.com/en-us/library/aa379322.aspx UuidCreateSequential]</tt>.
Riga 55:
Se questa cifra è un 1, come in questo caso, il codice è generato dalla prima versione; viceversa, se la cifra è un 4, è generato dalla seconda.
=== Sottotipi ===
I GUID utilizzati nei COM possono essere di diverso tipo, a seconda della loro funzione:
* IID - identificatori di interfaccia
* ClsID - identificatori di classe (contenuti in HKEY_CLASSES_ROOT\CLSID)
* LibID - identificatori di libreria
* CatID - identificatori di categoria (la presenza di un CATID in una classe identifica tale classe come appartenente ad una certa categoria)
Le [[
* AppID - identificatori di applicazione
* MID - identificatori di macchina
Riga 73:
Due uguali GUID di diverso sottotipo possono coesistere senza problemi nello stesso sistema, ma non è ammessa l'esistenza di due uguali GUID dello stesso sottotipo.
== GUID in [[XML]] ==
Esistono anche dei GUID all'interno di alcune versioni di [[RSS]], marcati appunto dal tag <code>guid</code>, tuttavia non hanno niente a che fare con i GUID dei COM Microsoft. All'interno di RSS, infatti, i GUID possono essere un qualsiasi numero, una qualsiasi stringa o un [[URL]], valida o meno. Tipicamente si usa utilizzare come GUID l'URL univoco del post.
== Collegamenti esterni ==
* [http://www.itu.int/ITU-T/studygroups/com17/oid.html Standard Internazionale "Generazione registrazione di Universally Unique Identifiers (UUIDs) e il loro uso come ASN.1 Object Identifier components"] (ITU-T Rec. X.667 | ISO/IEC 9834-8, tecnicamente compatibile con IETF RFC 4122)
* [http://www.famkruithof.net/uuid/uuidgen Generatore di UUID/GUID online]
Riga 104:
[[ru:GUID]]
[[sv:Globally Unique Identifier]]
[[zh:全局唯一标识符]]
|