7.2 Идентификация интерфейса: GUID

Вверх  Предыдущий  Следующий

Интерфейс может быть определён с помощью GUID идентификатора. Это 128-битное число, которое имеет текстовое представлении (строковыми числами):

['{HHHHHHHH-HHHH-HHHH-HHHH-HHHHHHHHHHHH}']

Каждый символ H представляет собой шестнадцатеричное число (0-9, A-F). Формат GUID вмещает 8-4-4-4-12 знакомест. GUID представлен следующей записью, определённой в модуле objpas (включается автоматически в режимах DELPHI или OBJFPC):

PGuid = ^TGuid;
TGuid = packed record
  case integer of
     1 : (
          Data1 : DWord;
          Data2 : word;
          Data3 : word;
          Data4 : array[0..7] of byte;
        );
     2 : (
          D1 : DWord;
          D2 : word;
          D3 : word;
          D4 : array[0..7] of byte;
        );
     3 : ( { uuid поля в соответствии с RFC4122 }
          time_low : dword;
          time_mid : word;
          time_hi_and_version : word;
          clock_seq_hi_and_reserved : byte;
          clock_seq_low : byte;
          node : array[0..5] of byte;
          );
end;

Константа типа TGUID может быть задана с помощью строковых чисел:

{$mode objfpc}
program testuid;
 
Const
MyGUID : TGUID = '{10101010-1010-0101-1001-110110110110}';
 
begin
end.

Идентификаторы GUID используются только в Windows, при использовании COM-интерфейсов. Более подробно об этом в следующем разделе.