Fonction NdrStubForwardingFunction (rpcproxy.h)

La fonction NdrStubForwardingFunction est le point d’entrée pour les méthodes d’objet côté serveur qui sont définies dans une interface de base.

Syntaxe

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

Paramètres

[in] This

Pointeur vers un instance de l’objet CStdStubBuffer, implémentant IRpcStubBuffer, pour l’interface DCOM.

[in] pChannel

Pointeur vers IRpcChannelBuffer pour l’interface DCOM, souvent fournie par OLE.

[in, out] pmsg

Pointeur vers une structure RPC_MESSAGE qui contient des informations sur la requête RPC.

[out] pdwStubPhase

Pointeur vers un indicateur qui suit l’activité de l’appel d’interpréteur actuel.

Valeur de retour

None

Remarques

Le paramètre pdwStubPhase est utilisé par l’interface objet pour déterminer le comportement de gestion des exceptions. Le tableau suivant décrit les valeurs possibles pour le paramètre pdwStubPhase .

Valeur Description
STUB_UNMARSHAL Le stub est en phase de marshaling.
STUB_CALL_SERVER Le stub appelle une routine de gestionnaire de serveur.
STUB_MARSHAL Le stub est en phase de démarshallation.
STUB_CALL_SERVER_NO_HRESULT Obsolète. Pour les stubs dépréciés uniquement.
 

Pour les méthodes définies dans une interface de base, RPC doit transférer le code à l’implémentation de l’interface de base.

Par exemple :

Interface IFunctionSample: IUnknown

{

HRESULT FunctionSample();

}

Interface IOperation: IFunctionSample

{

HRESULT Operation();

}

Dans cet exemple, où IFunctionSample et IOperation sont définis dans différents fichiers .idl. IFunctionSample est l’interface de base et IOperation est l’interface dérivée. IOperation peut agréger IOperation sans implémenter IOperation ::FunctionSample. Lorsque le client appelle IOperation ::FunctionSample, côté serveur, RPC transfère l’appel à IFunctionSample :FunctionSample.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête rpcproxy.h
Bibliothèque Rpcrt4.lib
DLL Rpcrt4.dll