Функция 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 |