인터페이스 식별: GUID(Interface Identification: A GUID)
인터페이스 식별: GUID(Interface Identification: A GUID)
인터페이스에 이름표를 붙이는 방법이에요. 그 이름표를 GUID라고 불러요. GUID는 전 세계에서 고유한 128비트 번호라서, 인터페이스서로를 확실히 구분하는 데 써요. 특히 Windows의 COM 인터페이스에서는 필수적이에요.
본문
인터페이스는 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 절에서 확인할 수 있어요.