다음을 통해 공유


NdrStubForwardingFunction 함수(rpcproxy.h)

NdrStubForwardingFunction 함수는 기본 인터페이스에 정의된 서버 쪽 개체 메서드의 진입점입니다.

구문

void NdrStubForwardingFunction(
  [in]      IRpcStubBuffer    *This,
  [in]      IRpcChannelBuffer *pChannel,
  [in, out] PRPC_MESSAGE      pmsg,
  [out]     DWORD             *pdwStubPhase
);

매개 변수

[in] This

DCOM 인터페이스에 대해 IRpcStubBuffer를 구현하는 CStdStubBuffer 개체의 instance 대한 포인터입니다.

[in] pChannel

OLE에서 제공하는 DCOM 인터페이스에 대한 IRpcChannelBuffer 에 대한 포인터입니다.

[in, out] pmsg

RPC 요청에 대한 정보를 포함하는 RPC_MESSAGE 구조체에 대한 포인터입니다.

[out] pdwStubPhase

현재 인터프리터 호출의 활동을 추적하는 플래그에 대한 포인터입니다.

반환 값

없음

설명

pdwStubPhase 매개 변수는 개체 인터페이스에서 예외 처리 동작을 확인하는 데 사용됩니다. 다음 표에서는 pdwStubPhase 매개 변수에 사용할 수 있는 값에 대해 설명합니다.

Description
STUB_UNMARSHAL 스텁이 마샬링 단계에 있습니다.
STUB_CALL_SERVER 스텁이 서버 관리자 루틴을 호출하고 있습니다.
STUB_MARSHAL 스텁은 경계를 풀지 않는 단계에 있습니다.
STUB_CALL_SERVER_NO_HRESULT 사용되지 않습니다. 사용되지 않는 스텁의 경우에만 해당합니다.
 

기본 인터페이스에 정의된 메서드의 경우 RPC는 코드를 기본 인터페이스 구현으로 전달해야 합니다.

예를 들면 다음과 같습니다.

Interface IFunctionSample: IUnknown

{

HRESULT FunctionSample();

}

Interface IOperation: IFunctionSample

{

HRESULT Operation();

}

이 예제에서는 IFunctionSampleIOperation 이 다른 .idl 파일에 정의됩니다. IFunctionSample 은 기본 인터페이스이고 IOperation 은 파생 인터페이스입니다. IOperation은IOperation::FunctionSample을 구현하지 않고 IOperation을 집계할 수 있습니다. 클라이언트가 IOperation::FunctionSample을 호출하면 서버 쪽에서 RPC 는 IFunctionSample:FunctionSample에 대한 호출을 전달합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows 2000 Server [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 rpcproxy.h
라이브러리 Rpcrt4.lib
DLL Rpcrt4.dll