interface 특성
인터페이스 키워드(keyword) 인터페이스의 이름을 지정합니다. 인터페이스 이름은 IDL 파일과 ACF 모두에서 제공해야 합니다.
[
interface-attribute-list
]
interface interface-name [ : base-interface ]
{
}
typedef interface interface-name declarator-list
-
interface-attribute-list
-
인터페이스 전체에 적용되는 특성을 지정합니다. IDL 파일에 대한 유효한 인터페이스 특성에는 [엔드포인트], [local], [object], [pointer_default], [uuid], [version]이 포함됩니다. ACF의 유효한 인터페이스 특성에는 [인코딩], [디코딩], [auto_handle] 또는 [implicit_handle], [코드] 또는 [nocode]가 포함됩니다.
-
interface-name
-
인터페이스의 이름을 지정합니다. 인터페이스 이름은 고유한 이름이어야 하며 알파벳 또는 밑줄 문자로 시작해야 합니다.
-
기본 인터페이스
-
이 파생된 인터페이스가 멤버 함수, 상태 코드 및 인터페이스 특성을 상속하는 인터페이스의 이름을 지정합니다. 파생된 인터페이스는 형식 정의를 상속하지 않습니다. 이렇게 하려면 가져오기 키워드(keyword) 사용하여 기본 인터페이스의 IDL 파일을 가져옵니다.
-
declarator-list
-
식별자, 포인터 선언자 및 배열 선언자와 같은 표준 C 선언자를 지정합니다. 자세한 내용은 배열 및 Sized-Pointer 특성, 배열, 배열 및 포인터를 참조하세요. 선언자 목록은 하나 이상의 선언자로 구성되며 쉼표로 구분됩니다.
MIDL 컴파일러 스위치 /acf를 사용하는 경우를 제외하고 IDL 파일 및 ACF의 인터페이스 이름은 동일해야 합니다.
인터페이스 이름은 RPC 런타임 함수에 대한 매개 변수인 인터페이스 핸들 데이터 구조 이름의 첫 번째 부분을 형성합니다. 자세한 내용은 RPC_IF_HANDLE 참조하세요.
인터페이스 헤더에 COM 인터페이스를 나타내는 [object] 특성이 포함된 경우 [uuid] 특성도 포함해야 하며 파생되는 기본 COM 인터페이스를 지정해야 합니다. COM 인터페이스에 대한 자세한 내용은 [개체]를 참조하세요.
typedef 키워드(keyword) 인터페이스 키워드(keyword) 사용하여 인터페이스 데이터 형식을 정의할 수도 있습니다.
/* use of interface keyword in IDL file for an RPC interface */
[
uuid (00000000-0000-0000-0000-000000000000),
version (1.0)
]
interface remote_if_2
{
// Interface definition statements.
}
/* use of interface keyword in ACF for an RPC interface */
[
implicit_handle( handle_t xa_bhandle )
]
interface remote_if_2
{
// Attribute configuration statements.
}
/* use of interface keyword in IDL file for a COM interface */
[
object, uuid (00000000-0000-0000-0000-000000000000)
]
interface IDerivedInterface : IBaseInterface
{
import "base.idl"
Save();
}
/* use of interface keyword to define an interface pointer type */
typedef interface IStorage *LPSTORAGE;