An identification number, theoretically created uniquely. That is, theoretically, no two GUIDs should be the same. Naturally, with a fixed length, this is not possible, since the identifier will eventually overflow. The method by which a GUID is formed depends upon the library used.

For instance, in Microsoft OSes, the GUID is created as a 128-bit number by the operating system and thus the OS acts as the mediator, doling out GUIDs and guaranteeing their uniqueness on that machine. This is done based upon the hardware address of an ethernet card in the machine or, if none is present, another way. Additionally, the date, time, a counter, and some more stuff. (see http://msdn.microsoft.com/library/books/inole/S10E8.HTM for more info) The idea behind this is that each hardware address should be unique. Microsoft makes extensive use of GUIDs in Windows.

There was much concern a while back because Microsoft Windows 98 created each user with a GUID that was sent to Microsoft when the OS was registered. A fix was made available in response to the public uprising. Additionally, there was much concern because Microsoft Office documents also were found to contain user-linkable GUIDs. Again, in response to public uprising, Microsoft made a fix and program to prevent GUIDs from being created and to remove GUIDs from existing documents.

GUIDs have actually been around for a while and are used in a variety of applications, especially in RPCs, where they are known as UUIDs.
The general idea behind a globally unique identifier, or GUID, is that it is in fact, globally unique. This means that no two computers anywhere could possibly generate the same GUID. There is a program, called guidgen.exe, that (by using a weird algorithm based on time, MAC address, and a few other conditions; it is published) produces them. It's a 128 bit field, thus yielding a possible 2^128 number of guids. Guids are usually only generated by developers, so it's a fairly safe bet.

They are used in describing uniqueness, especially of controls in the registry. The GUID of the app server or control is built in, so for instance, Excel has the same GUID, no matter where you install it. (Excel.Application of Excel 2000, should be the same everywhere. Use regedit and some time and search for it). You can look in the ROT to see what objects are running. Microsoft has used them for other reasons that identify people or computers or what not, but generally they are used for CLSIDs of COM objects to avoid a namespace conflict (by using a huge numerical space).

Log in or register to write something here or to contact authors.