Поделиться через


Функция NdrStubForwardingFunction (rpcproxy.h)

Функция NdrStubForwardingFunction — это точка входа для серверных методов объектов, определенных в базовом интерфейсе.

Синтаксис

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

Параметры

[in] This

Указатель на экземпляр объекта CStdStubBuffer, реализующего IRpcStubBuffer для интерфейса DCOM.

[in] pChannel

Указатель на IRpcChannelBuffer для интерфейса DCOM, который часто предоставляется OLE.

[in, out] pmsg

Указатель на структуру RPC_MESSAGE , содержащую сведения о запросе RPC.

[out] pdwStubPhase

Указатель на флаг, который отслеживает действия текущего вызова интерпретатора.

Возвращаемое значение

None

Remarks

Параметр pdwStubPhase используется интерфейсом объекта для определения поведения обработки исключений. В следующей таблице описаны возможные значения для параметра pdwStubPhase .

Значение Описание
STUB_UNMARSHAL Заглушка находится в фазе маршалинга.
STUB_CALL_SERVER Заглушка вызывает подпрограмму диспетчера сервера.
STUB_MARSHAL Заглушка находится в фазе отмены заглушки.
STUB_CALL_SERVER_NO_HRESULT Является устаревшей. Только для нерекомендуемых заглушек.
 

Для методов, определенных в базовом интерфейсе, RPC необходимо перенаправить код в реализацию базового интерфейса.

Пример:

Interface IFunctionSample: IUnknown

{

HRESULT FunctionSample();

}

Interface IOperation: IFunctionSample

{

HRESULT Operation();

}

В этом примере IFunctionSample и IOperation определяются в разных IDL-файлах. IFunctionSample — базовый интерфейс, а IOperation — производный интерфейс. IOperation может агрегировать IOperation без реализации IOperation::FunctionSample. Когда клиент вызывает IOperation::FunctionSample, на стороне сервера RPC перенаправит вызов IFunctionSample:FunctionSample.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Профессиональная [классические приложения | Приложения UWP]
Минимальная версия сервера Windows 2000 Server [классические приложения | Приложения UWP]
Целевая платформа Windows
Header rpcproxy.h
Библиотека Rpcrt4.lib
DLL Rpcrt4.dll