devxlogo

Create a Globally Unique Identifier (GUID)

Create a Globally Unique Identifier (GUID)

I use this routine in almost every application I develop. It’s handy whether you need a key for a collection or whether you use it in a database:

 Option ExplicitPrivate Declare Function CoCreateGuid Lib _	"OLE32.DLL" (pGuid As GUID) As LongPrivate Declare Function StringFromGUID2 Lib _	"OLE32.DLL" (pGuid As GUID, _	ByVal PointerToString As Long, _	ByVal MaxLength As Long) As Long' Private membersPrivate Const GUID_OK As Long = 0Private Type GUID	Guid1			As Long	Guid2			As Integer	Guid3			As Integer	Guid4(0 To 7) 	As ByteEnd TypePublic Function CreateGUIDKey() As String	'*** Possible max length for buffer	Const GUID_LENGTH	As Long = 38	Dim udtGUID As GUID	'User Defined Type	Dim strFormattedGUID As String	'The formatted string	Dim lngResult As Long	'Useless result flag	'*** Create a 'raw' GUID	lngResult = CoCreateGuid(udtGUID)	If lngResult = GUID_OK Then		'*** Pre-allocate space for the ID		strFormattedGUID = String$(GUID_LENGTH, 0)		'*** Convert the 'raw' GUID to a 		'formatted string		StringFromGUID2 udtGUID, _			StrPtr(strFormattedGUID), GUID_LENGTH + 1	Else		'*** Return nothing or handle error		strFormattedGUID = ""	End If	' *** Return our nicely formatted GUID	CreateGUIDKey = strFormattedGUIDEnd Function
devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist