structure MIDL_STUB_DESC (rpcndr.h)
La structure MIDL_STUB_DESC est une structure générée par MIDL qui contient des informations sur le stub d’interface concernant les appels RPC entre le client et le serveur.
Syntaxe
typedef struct _MIDL_STUB_DESC {
void *RpcInterfaceInformation;
void * )(size_t) *(pfnAllocate;
void()(void *) * pfnFree;
union {
handle_t *pAutoHandle;
handle_t *pPrimitiveHandle;
PGENERIC_BINDING_INFO pGenericBindingInfo;
} IMPLICIT_HANDLE_INFO;
const NDR_RUNDOWN *apfnNdrRundownRoutines;
const GENERIC_BINDING_ROUTINE_PAIR *aGenericBindingRoutinePairs;
const EXPR_EVAL *apfnExprEval;
const XMIT_ROUTINE_QUINTUPLE *aXmitQuintuple;
const unsigned char *pFormatTypes;
int fCheckBounds;
unsigned long Version;
MALLOC_FREE_STRUCT *pMallocFreeStruct;
long MIDLVersion;
const COMM_FAULT_OFFSETS *CommFaultOffsets;
const USER_MARSHAL_ROUTINE_QUADRUPLE *aUserMarshalQuadruple;
const NDR_NOTIFY_ROUTINE *NotifyRoutineTable;
ULONG_PTR mFlags;
const NDR_CS_ROUTINES *CsRoutineTables;
void *ProxyServerInfo;
const NDR_EXPR_DESC *pExprInfo;
} MIDL_STUB_DESC;
Membres
RpcInterfaceInformation
Pour une interface RPC non-objet côté serveur, elle pointe vers une structure d’interface de serveur RPC. Côté client, il pointe vers une structure d’interface cliente RPC. Elle est null pour une interface d’objet.
pfnAllocate
Fonction d’allocation de mémoire à utiliser par le stub. Définissez sur midl_user_allocate pour l’interface non-objet et NdrOleAllocate pour l’interface objet.
pfnFree
Fonction sans mémoire à utiliser par le stub. Définissez sur midl_user_free pour l’interface non-objet et NdrOleFree pour l’interface objet.
IMPLICIT_HANDLE_INFO
L’union contient l’un des handles suivants.
IMPLICIT_HANDLE_INFO.pAutoHandle
Pointeur vers le handle automatique implicite pour l’appel RPC.
IMPLICIT_HANDLE_INFO.pPrimitiveHandle
Pointeur vers le handle primitif implicite pour l’appel RPC.
IMPLICIT_HANDLE_INFO.pGenericBindingInfo
Pointeur vers les informations sur le handle générique implicite.
apfnNdrRundownRoutines
Tableau de fonctions d’exécution de gestion de contexte.
aGenericBindingRoutinePairs
Tableau de pointeurs de fonction pour lier et dissocier des paires de fonctions pour le handle générique implicite.
apfnExprEval
Tableau de pointeurs de fonction vers les fonctions d’évaluateur d’expression utilisées pour évaluer la conformité complexe midl et les descriptions variables. Par exemple, size_is(param1 + param2).
aXmitQuintuple
Tableau d’un tableau de pointeurs de fonction pour les types transmit_as et represent_as définis par l’utilisateur .
pFormatTypes
Pointeur vers la description du format de type.
fCheckBounds
Indicateur décrivant l’option du compilateur /error MIDL spécifiée par l’utilisateur.
Version
Version de remise de remise requise pour le stub.
pMallocFreeStruct
Pointeur vers la structure MALLOC_FREE_STRUCT qui contient les pointeurs de fonction d’allocation et de fonction libre. Utilisez si l’attribut MIDL enable_allocate est spécifié.
MIDLVersion
Version du compilateur MIDL utilisé pour compiler le fichier .idl.
CommFaultOffsets
Tableau de décalages de pile pour les paramètres avec des attributs comm_status ou fault_status .
aUserMarshalQuadruple
Tableau d’un tableau de pointeurs de fonction pour les types user_marshal et wire_marshal définis par l’utilisateur .
NotifyRoutineTable
Tableau de pointeurs de fonction de notification pour les méthodes avec l’attribut notify ou notify_flag spécifié.
mFlags
Indicateur décrivant les attributs du stub
CsRoutineTables
Inutilisé.
ProxyServerInfo
pExprInfo
Spécifications
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
En-tête | rpcndr.h (inclure Rpc.h) |