Skip to content

Latest commit

 

History

History
52 lines (38 loc) · 1.07 KB

sample_024.md

File metadata and controls

52 lines (38 loc) · 1.07 KB

Home

Generating random UUID values

Before you begin:

See also:


Code:

FOR nIndex=1 TO 10
	? GetUUID()
NEXT
* end of main

PROCEDURE GetUUID()
	DECLARE INTEGER UuidCreate IN Rpcrt4 STRING @Uuid
	DECLARE INTEGER RpcStringFree IN Rpcrt4 LONG @StringUuid

	DECLARE INTEGER UuidToString IN Rpcrt4;
		STRING @Uuid, LONG @StringUuid

	DECLARE RtlMoveMemory IN kernel32 As MemToStr;
		STRING @, INTEGER, INTEGER

	LOCAL cUUID, hBuffer, nBufsize, cResult
	cResult=""
	hBuffer=0
	cUUID=REPLICATE(CHR(0), 16)

	= UuidCreate(@cUUID)

	IF UuidToString(@cUUID, @hBuffer)=0
		nBufsize=36
		cResult=REPLICATE(CHR(0), nBufsize)
		MemToStr(@cResult, hBuffer, nBufsize)
		RpcStringFree(@hBuffer)
	ENDIF
	cResult=UPPER(STRTRAN(m.cResult, CHR(0), ""))
RETURN m.cResult  

Listed functions:

RpcStringFree
UuidCreate
UuidToString