Compartilhar via


Função NdrStubCall2 (rpcndr.h)

A função NdrStubCall2 é o ponto de entrada do lado do servidor para stubs do modo /Oicf .

Sintaxe

long NdrStubCall2(
  [in]      void          *pThis,
  [in]      void          *pChannel,
  [in, out] PRPC_MESSAGE  pRpcMsg,
  [out]     unsigned long *pdwStubPhase
);

Parâmetros

[in] pThis

Ponteiro para uma instância do objeto CStdStubBuffer, implementando IRpcStubBuffer, para a interface DCOM. Defina como NULL para interfaces RPC de nonobject.

[in] pChannel

Ponteiro para IRpcChannelBuffer para a interface DCOM, geralmente fornecida pelo OLE. Defina como NULL para interfaces nonobject.

[in, out] pRpcMsg

Ponteiro para uma estrutura RPC_MESSAGE que contém informações sobre a solicitação RPC. Em interfaces nonobject, pRpcMsg também contém informações sobre o método de comunicação remota.

[out] pdwStubPhase

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

Retornar valor

Retorna S_OK após o êxito. Gera uma exceção após erro.

Comentários

O tempo de execução do RPC ou o tempo de execução OLE chama NdrStubCall2 para invocar a rotina do gerenciador de servidores. Os parâmetros [out] têm marshaling e são retornados ao tempo de execução RPC ou ao tempo de execução OLE para enviar de volta ao cliente.

O parâmetro pdwStubPhase é usado pela interface do objeto para determinar o comportamento de tratamento de exceções. 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 marshaling.
STUB_CALL_SERVER O stub está chamando uma rotina de gerenciador de servidores.
STUB_MARSHAL O stub está em fase unmarshalling.
STUB_CALL_SERVER_NO_HRESULT Obsoleto. Somente para stubs preteridos.

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 rpcndr.h (inclua Rpc.h)
Biblioteca Rpcrt4.lib
DLL Rpcrt4.dll