module 특성
module 문은 함수 그룹(일반적으로 DLL 진입점 집합)을 정의합니다.
[
attributes
]
module modulename
{
elementlist
};
-
attributes
-
모듈 문 앞에 [uuid], [version], [helpstring], [helpcontext], [hidden] 및 [dllname] 특성이 허용됩니다. 모듈 정의 전에 허용되는 특성에 대한 자세한 내용은 OLE Automation 설명서의 특성 설명을 참조하세요. [dllname] 특성이 필요합니다. [uuid] 특성을 생략하면 모듈이 시스템에서 고유하게 지정되지 않습니다.
-
modulename
-
모듈의 이름입니다.
-
elementlist
-
DLL의 각 함수에 대한 상수 정의 및 함수 프로토타입 목록입니다. 함수 목록에는 다양한 함수 정의가 나타날 수 있습니다. 함수 목록의 함수 형식은 다음과 같습니다.
[특성] returntype [호출 규칙 funcname](params);
[특성] const constanttype constname = constval;
const에 대해 [helpstring] 및 [helpcontext] 특성만 허용됩니다.
모듈의 함수에는 [helpstring], [helpcontext], [string], [entry], [propget], [propput], [propputref] 및 [vararg] 특성이 허용됩니다. [vararg]을 지정한 경우 마지막 매개 변수는 VARIANT 형식의 안전한 배열이어야 합니다.
선택적 호출 규칙은 __pascal/_pascal/pascal, __cdecl/_cdecl/cdecl 또는 __stdcall/_stdcall/stdcall 중 하나일 수 있습니다. 호출 규칙 형식 매개 변수는 최대 두 개의 선행 밑줄을 포함할 수 있습니다.
매개 변수 목록은 쉼표로 구분된 목록입니다.
[특성]
형식은 이전에 선언된 형식 또는 기본 제공 형식, 모든 형식에 대한 포인터 또는 기본 제공 형식에 대한 포인터일 수 있습니다. 매개 변수의 특성은 다음과 같습니다.
[선택 사항]을 사용하는 경우 해당 매개 변수의 형식은 VARIANT 또는 VARIANT*여야 합니다.
모듈의 헤더 파일(.h) 출력은 일련의 함수 프로토타입입니다. 모듈 키워드(keyword) 및 주변 대괄호는 헤더(.h) 파일 출력에서 제거되지만 프로토타입 앞에 주석(// 모듈모듈 이름)이 삽입됩니다. 선언 앞에 키워드(keyword) extern이 삽입됩니다.
[
uuid(12345678-1234-1234-1234-123456789ABC),
helpstring("This is not GDI.EXE"),
helpcontext(190),
dllname("MATH.DLL")
]
module somemodule
{
[helpstring("Color for the frame")]
unsigned long const COLOR_FRAME = 0xH80000006;
[helpstring("Not a rectangle but a square"),
entry(1)]
pascal double square([in] double x);
};