如何在 Delphi 中生成 GUID 版本 1?

How to generate a GUID version 1 in Delphi?

有没有办法在 Delphi 5 中生成 GUID v1(基于时间)?我找到了这个功能...

unit ComObj;
function CreateClassID: string;

但我不确定它是否会生成基于时间的 GUID。我也知道这个...

SysUtils.CreateGUID(newGUID);

... 调用生成 GUID 版本 4(随机)的 Windows API CoCreateGUID

类似于 CreateGUID 的实现方式 - 使用 UuidCreateSequential:

uses
  Windows;

function UuidCreateSequential(out guid: TGUID): Longint; stdcall; external 'rpcrt4.dll' name 'UuidCreateSequential';

function CreateGUID_V1(out Guid: TGUID): HResult;
begin
  Result := HResultFromWin32(UuidCreateSequential(Guid));
end;

我这里没有 Delphi 5,所以不确定这里使用的所有东西在 20 年前是否可用。