Share via


explicit_handle 특성

[explicit_handle] ACF 특성은 각 프로시저에 handle_t 형식과 같은 기본 핸들을 첫 번째 매개 변수로 지정합니다.

[
    explicit_handle
] 
interface interface-name
{
    ...
}

매개 변수

interface-name

인터페이스의 이름을 지정합니다.

설명

[explicit_handle] 특성을 사용하는 경우 IDL 파일에 매개 변수 목록에 이 핸들이 포함되지 않은 경우에도 각 프로시저는 기본 핸들을 첫 번째 매개 변수로 사용합니다. 헤더 파일 및 스텁 루틴으로 내보내는 프로토타입에는 추가 매개 변수가 포함되며 해당 매개 변수는 원격 호출을 지시하기 위한 핸들로 사용됩니다.

[explicit_handle] 특성은 원격 프로시저와 serialization 프로시저 모두에 영향을 줍니다. 형식 serialization의 경우 초기 매개 변수를 사용하여 지원 루틴이 명시적(serialization) 핸들로 생성됩니다. [explicit_handle] 특성을 사용하지 않는 경우에도 애플리케이션은 작업에 호출을 지시하는 명시적 핸들(바인딩 또는 serialization)이 있음을 지정할 수 있습니다. 이를 위해 핸들 형식이 포함된 인수가 있는 프로토타입이 IDL 파일에 제공됩니다. 기본 모드에서는 먼저 표시되지 않는 인수를 호출을 지시하는 핸들로 사용할 수도 있습니다.

따라서 [explicit_handle] 특성은 IDL 프로토타입에 기본 [explicit_handle] 특성을 제공하는 방법이지만 반드시 IDL 파일을 변경할 필요는 없습니다. /osf 모드에서는 첫 번째 인수만 명시적 핸들 형식으로 사용할 수 있습니다.

[explicit_handle] 특성은 인터페이스 특성 또는 작업 특성으로 사용할 수 있습니다. 인터페이스 특성으로 인터페이스의 모든 작업과 serialization 지원이 필요한 모든 형식에 영향을 줍니다. 그러나 작업 특성으로 사용되는 경우 해당 특정 작업에만 영향을 줍니다. 메서드에 하나 이상의 [in] 컨텍스트 핸들이 포함된 경우 가장 왼쪽 [in] 컨텍스트 핸들이 바인딩 핸들로 사용되고 추가 명시적 핸들이 만들어지지 않습니다.

/* ACF File */ 
[
    explicit_handle
] 
interface iface
{ 
    // Interface definition statements.
};

참고 항목

ACF(애플리케이션 구성 파일)

auto_handle

implicit_handle

/osf