용도별 특성
이 항목에서는 적용되는 C++ 언어 요소에 따라 특성을 나열합니다.
특성의 범위에 없는 요소 앞에 특성이 있으면 특성 블록이 주석으로 처리됩니다.
attribute | 설명 |
---|---|
모듈 특성 | 모듈 특성에 적용됩니다. |
인터페이스 특성 | __interface C++ 키워드(keyword) 적용됩니다. |
클래스 특성 | C++ 키워드(keyword) 적용됩니다. |
메서드 특성 | 클래스, coclass 또는 인터페이스의 메서드에 적용됩니다. |
매개 변수 특성 | 클래스 또는 인터페이스에서 메서드의 매개 변수에 적용됩니다. |
데이터 멤버 특성 | 클래스, coclass 또는 인터페이스의 데이터 멤버에 적용됩니다. |
Typedef, Enum, Union 및 Struct 특성 | C++ 키워드(keyword) 적용됩니다. |
배열 특성 | 배열 또는 SAFEARRAY s에 적용됩니다. |
독립 실행형 특성 | 코드 줄처럼 작동하지만 C++ 키워드(keyword) 작동하지 않습니다. 독립 실행형 특성 문은 줄 끝에 세미콜론이 필요합니다. |
사용자 지정 특성 | 사용자가 메타데이터를 확장할 수 있도록 허용합니다. |
모듈 특성
다음 특성은 모듈 특성에만 적용할 수 있습니다.
attribute | 설명 |
---|---|
helpstringdll | 문서 문자열 조회(지역화)를 수행하는 데 사용할 DLL의 이름을 지정합니다. |
인터페이스 특성
다음 특성은 인터페이스(또는 __interface) C++ 키워드(keyword) 적용됩니다.
attribute | 설명 |
---|---|
async_uuid | MIDL 컴파일러가 COM 인터페이스의 동기 버전과 비동기 버전을 모두 정의하도록 지시하는 UUID를 지정합니다. |
custom | 고유한 특성을 정의할 수 있습니다. |
dispinterface | .Idl 파일의 인터페이스를 디스패치 인터페이스로 배치합니다. |
dual | .idl 파일에 인터페이스를 이중 인터페이스로 배치합니다. |
export | 데이터 구조가 .idl 파일에 배치되도록 합니다. |
helpcontext | 사용자가 도움말 파일에서 이 요소에 대한 정보를 볼 수 있도록 하는 컨텍스트 ID를 지정합니다. |
helpfile | 형식 라이브러리에 대한 도움말 파일의 이름을 설정합니다. |
helpstring | 적용되는 요소를 설명하는 데 사용되는 문자열을 지정합니다. |
helpstringcontext | .hlp 또는 .chm 파일에서 도움말 항목의 ID를 지정합니다. |
helpstringdll | 문서 문자열 조회(지역화)를 수행하는 데 사용할 DLL의 이름을 지정합니다. |
hidden | 항목이 존재하지만 사용자 지향 브라우저에 표시해서는 안 됨을 나타냅니다. |
library_block | .idl 파일의 라이브러리 블록 내에 구문을 배치합니다. |
local | 인터페이스 헤더에서 사용될 때 MIDL 컴파일러를 헤더 생성기로 사용할 수 있습니다. 개별 함수에서 사용되는 경우 스텁이 생성되지 않는 로컬 프로시저를 지정합니다. |
nonextensible | 구현에 IDispatch 인터페이스 설명에 나열된 속성 및 메서드만 포함하며 런타임에 추가 멤버로 확장할 수 없게 지정합니다. 이 특성은 이중 인터페이스에서만 유효합니다. |
odl | 인터페이스를 ODL(개체 설명 언어) 인터페이스로 식별합니다. |
object | 사용자 지정 인터페이스를 식별합니다. |
oleautomation | 인터페이스가 Automation과 호환된다는 것을 나타냅니다. |
pointer_default | 매개 변수 목록에 표시되는 최상위 포인터를 제외한 모든 포인터에 대한 기본 포인터 특성을 지정합니다. |
ptr | 포인터를 전체 포인터로 지정합니다. |
restricted | 임의로 호출할 수 없는 라이브러리의 멤버를 지정합니다. |
uuid | 라이브러리에 대한 고유 ID를 제공합니다. |
인터페이스를 정의하려면 다음 규칙을 준수해야 합니다.
기본 호출 규칙은 __stdcall.
GUID를 제공하지 않으면 GUID가 제공됩니다.
오버로드된 메서드는 허용되지 않습니다.
uuid 특성을 지정하지 않고 다른 특성 프로젝트에서 동일한 인터페이스 이름을 사용하는 경우 동일한 GUID가 생성됩니다.