Función NdrStubForwardingFunction (rpcproxy.h)
La función NdrStubForwardingFunction es el punto de entrada para los métodos de objeto del lado servidor que se definen en una interfaz base.
Sintaxis
void NdrStubForwardingFunction(
[in] IRpcStubBuffer *This,
[in] IRpcChannelBuffer *pChannel,
[in, out] PRPC_MESSAGE pmsg,
[out] DWORD *pdwStubPhase
);
Parámetros
[in] This
Puntero a una instancia del objeto CStdStubBuffer, que implementa IRpcStubBuffer, para la interfaz DCOM.
[in] pChannel
Puntero a IRpcChannelBuffer para la interfaz DCOM, que a menudo proporciona OLE.
[in, out] pmsg
Puntero a una estructura RPC_MESSAGE que contiene información sobre la solicitud RPC.
[out] pdwStubPhase
Puntero a una marca que realiza un seguimiento de la actividad de la llamada del intérprete actual.
Valor devuelto
None
Observaciones
La interfaz de objeto usa el parámetro pdwStubPhase para determinar el comportamiento del control de excepciones. En la tabla siguiente se describen los valores posibles para el parámetro pdwStubPhase .
Valor | Descripción |
---|---|
STUB_UNMARSHAL | El código auxiliar está en fase de serialización. |
STUB_CALL_SERVER | El código auxiliar llama a una rutina del administrador del servidor. |
STUB_MARSHAL | El código auxiliar está en fase de desaprovisionamiento. |
STUB_CALL_SERVER_NO_HRESULT | Obsoleto. Solo para códigos auxiliares en desuso. |
Para los métodos definidos en una interfaz base, RPC debe reenviar el código a la implementación de la interfaz base.
Por ejemplo:
Interface IFunctionSample: IUnknown
{
HRESULT FunctionSample();
}
Interface IOperation: IFunctionSample
{
HRESULT Operation();
}
En este ejemplo, donde IFunctionSample e IOperation se definen en diferentes archivos .idl. IFunctionSample es la interfaz base y IOperation es la interfaz derivada. IOperation puede agregar IOperation sin implementar IOperation::FunctionSample. Cuando el cliente llama a IOperation::FunctionSample, en el lado servidor, RPC reenvía la llamada a IFunctionSample:FunctionSample.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 2000 Professional [aplicaciones de escritorio | Aplicaciones para UWP] |
Servidor mínimo compatible | Windows 2000 Server [aplicaciones de escritorio | Aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | rpcproxy.h |
Library | Rpcrt4.lib |
Archivo DLL | Rpcrt4.dll |