Compartilhar via


Função NdrStubForwardingFunction (rpcproxy.h)

A função NdrStubForwardingFunction é o ponto de entrada para métodos de objeto do lado do servidor definidos em uma interface base.

Sintaxe

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

Parâmetros

[in] This

Ponteiro para uma instância do objeto CStdStubBuffer, implementando IRpcStubBuffer, para a interface DCOM.

[in] pChannel

Ponteiro para IRpcChannelBuffer para a interface DCOM, geralmente fornecida pelo OLE.

[in, out] pmsg

Ponteiro para uma estrutura de RPC_MESSAGE que contém informações sobre a solicitação RPC.

[out] pdwStubPhase

Ponteiro para um sinalizador que rastreia a atividade da chamada do interpretador atual.

Retornar valor

Nenhum

Comentários

O parâmetro pdwStubPhase é usado pela interface do objeto para determinar o comportamento de tratamento de exceção. A tabela a seguir descreve os valores possíveis para o parâmetro pdwStubPhase .

Valor Descrição
STUB_UNMARSHAL O stub está em fase de marshalling.
STUB_CALL_SERVER O stub está chamando uma rotina de gerenciador de servidores.
STUB_MARSHAL O stub está em fase de unmarshalling.
STUB_CALL_SERVER_NO_HRESULT Obsoleto. Somente para stubs preteridos.
 

Para métodos definidos em uma interface base, o RPC precisa encaminhar o código para a implementação da interface base.

Por exemplo:

Interface IFunctionSample: IUnknown

{

HRESULT FunctionSample();

}

Interface IOperation: IFunctionSample

{

HRESULT Operation();

}

Neste exemplo, em que IFunctionSample e IOperation são definidos em arquivos .idl diferentes. IFunctionSample é a interface base e IOperation é a interface derivada. A IOperation pode agregar IOperation sem implementar IOperation::FunctionSample. Quando o cliente chama IOperation::FunctionSample, no lado do servidor, o RPC encaminha a chamada para IFunctionSample:FunctionSample.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows 2000 Server [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho rpcproxy.h
Biblioteca Rpcrt4.lib
DLL Rpcrt4.dll