인터페이스 식별: GUID(Interface Identification: A GUID)

인터페이스 식별: GUID(Interface Identification: A GUID)

인터페이스에 이름표를 붙이는 방법이에요. 그 이름표를 GUID라고 불러요. GUID는 전 세계에서 고유한 128비트 번호라서, 인터페이스서로를 확실히 구분하는 데 써요. 특히 Windows의 COM 인터페이스에서는 필수적이에요.

출처: Interface identification: A GUID

본문

인터페이스는 GUID로 식별할 수 있어요. GUID는 128비트 숫자인데, 문자열 리터럴(텍스트 표현)로 나타내요.

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

여기서 각 H 문자는 16진수 숫자(0–9, A–F)를 나타내요. 형식은 8-4-4-4-12 숫자로 구성돼요.

GUID는 objpas 유닛에 정의된 다음 레코드로도 나타낼 수 있어요. DELPHI나 OBJFPC 모드에서는 objpas 유닛이 자동으로 포함돼요.

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 fields according to 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 인터페이스를 사용할 때 주로 쓰여요. 자세한 내용은 다음 절에서 이어집니다.

더 알아보기

  • COM에서 GUID가 어떻게 쓰이는지는 7.6 절(인터페이스와 COM)에서 다뤄요.
  • 인터페이스의 기본 정의는 7.1 절을 참고해요.
  • CORBA 인터페이스는 GUID 대신 문자열로 식별된다는 점은 7.7 절에서 확인할 수 있어요.