인터페이스와 COM(Interfaces and COM)
인터페이스와 COM(Interfaces and COM)
Windows에서 만든 인터페이스를 COM 하위 시스템에 노출하려면, 호출 규약부터 신경 써야 해요. COM은 Free Pascal의 기본 호출 규약이 아니라서 명시적으로 stdcall(스택 호출 방식)을 지정해 줘야 해요. 또 COM은 프로퍼티를 모른다 점도 알아 두면 좋아요.
본문
Windows에서 COM 하위 시스템이 쓸 수 있도록 인터페이스를 만들 경우, 호출 규약은 stdcall이어야 해요. stdcall은 Free Pascal의 기본 호출 규약이 아니므로 명시적으로 지정해 줘야 해요.
또 하나 중요한 점은, COM은 프로퍼티를 알지 못한다는 거예요. COM은 메서드만 알아요. 그래서 인터페이스 정의의 일부로 프로퍼티 정의를 지정할 때는, 그 프로퍼티는 Free Pascal로 컴파일된 프로그램 안에서만 인식된다는 걸 알아두세요. 다른 Windows 프로그램은 그 프로퍼티 정의를 알지 못해요.
더 알아보기
- 인터페이스의 기본 정의는 7.1 절을 참고해요.
- 인터페이스의 GUID 식별은 7.2 절에서 다뤄요.
- IUnknown을 기반으로 하는 참조 카운팅은 7.8 절에서 확인할 수 있어요.
- COM 외의 CORBA 등 인터페이스 아키텍처는 7.7 절을 참고해요.