영어로 읽기

다음을 통해 공유


콜백 특성

[콜백] 특성은 분산 애플리케이션의 클라이언트 쪽에 있는 정적 콜백 함수를 선언합니다. 콜백 함수는 서버가 클라이언트에서 코드를 실행할 수 있는 방법을 제공합니다.

[callback [ , function-attr-list] ] type-specifier [ptr-declarator] function-name(
        [ [attribute-list] ] type-specifier [declarator]
        , ...);

매개 변수

function-attr-list

함수에 적용되는 0개 이상의 특성을 지정합니다. 유효한 함수 특성은 [local]입니다. 포인터 특성 [ref], [unique] 또는 [ptr]; 및 사용 특성 [문자열], [무시][context_handle]. 여러 특성을 쉼표로 구분합니다.

type-specifier

base_type, 구조체, 공용 구조체, 열거형 형식 또는 형식 식별자를 지정합니다. 선택적 스토리지 사양은 형식 지정자 앞에 설 수 있습니다.

ptr-declarator

포인터 선언자를 0개 이상 지정합니다. 포인터 선언자는 C에서 사용되는 포인터 선언자와 동일합니다. * 지정자, 한정자(예: far) 및 한정자 const에서 생성됩니다.

function-name

원격 프로시저의 이름을 지정합니다.

attribute-list

지정된 매개 변수 형식에 적합한 0개 이상의 방향 특성, 필드 특성, 사용 특성 및 포인터 특성을 지정합니다. 여러 특성을 쉼표로 구분합니다.

declarator

식별자, 포인터 선언자 및 배열 선언자와 같은 표준 C 선언자를 지정합니다. 자세한 내용은 배열 및 Sized-Pointer 특성, 배열배열 및 포인터를 참조하세요. 매개 변수 이름 식별자는 선택 사항입니다.

설명

[콜백] 함수는 서버가 클라이언트에서 정보를 가져와야 하는 경우에 유용합니다. Windows 3에서 서버 애플리케이션이 지원된 경우 x, 서버가 Windows 3에서 원격 프로시저를 호출할 수 있습니다. 필요한 정보를 얻기 위한 x 서버입니다. 콜백 함수는 동일한 목적을 달성하고 서버가 원래 호출의 컨텍스트에서 정보를 클라이언트에 쿼리할 수 있도록 합니다.

콜백은 단일 스레드의 일부로 실행되는 원격 호출의 특별한 경우입니다. 콜백은 원격 호출의 컨텍스트에서 실행됩니다. 정적 콜백 함수와 동일한 인터페이스의 일부로 정의된 모든 원격 프로시저는 콜백 함수를 호출할 수 있습니다.

다중 스레드 프로그래밍에서는 [콜백]을 사용하지 않는 것이 좋습니다. 단일 스레드 프로그래밍 함수로서 다중 스레드 환경에서 제공하는 보안 요구를 지원할 수 없습니다.

RpcCancelThread 함수는 정적 콜백을 디스패치할 수 있는 호출을 취소하는 데 사용할 수 없습니다. 특정 원격 프로시저 호출로 인해 콜백이 발생하지 않는 경우 취소할 수 있습니다. 그렇지 않으면 호출에 대한 콜백이 실행되지 않도록 보장할 수 있는 경우에만 호출을 취소할 수 있습니다.

연결 지향 및 로컬 프로토콜 시퀀스만 콜백 특성을 지원합니다. 로컬 프로토콜 시퀀스를 통한 콜백에 대한 [out] 데이터의 크기는 150바이트로 제한됩니다. RPC 인터페이스가 연결 없는(데이터그램) 프로토콜 시퀀스를 사용하는 경우 콜백 특성이 있는 프로시저에 대한 호출이 실패합니다.

핸들은 콜백 함수에서 매개 변수로 사용할 수 없습니다. 콜백은 항상 호출 컨텍스트에서 실행되므로 클라이언트가 서버를 호출하는 데 사용하는 바인딩 핸들도 서버에서 클라이언트로의 바인딩 핸들로 사용됩니다.

콜백은 깊이에 중첩할 수 있습니다.

[callback] HRESULT DisplayString([in, string] char * p1);

참고 항목

배열

MIDL 기본 형식

const

context_handle

열거형

IDL(인터페이스 정의) 파일

무시

로컬

/osf

Ref

ptr

문자열

구조체

연합

고유

RpcCancelThread