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 nonobject côté serveur, elle pointe vers une structure d’interface de serveur RPC. Côté client, il pointe vers une structure d’interface client RPC. Elle est null pour une interface d’objet.
pfnAllocate
Fonction d’allocation de mémoire à utiliser par le stub. Définissez la valeur midl_user_allocate pour l’interface nonobject et NdrOleAllocation pour l’interface objet.
pfnFree
Fonction sans mémoire à utiliser par le stub. Définissez la valeur midl_user_free pour l’interface nonobject 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 de l’appel RPC.
IMPLICIT_HANDLE_INFO.pPrimitiveHandle
Pointeur vers le handle primitif implicite de l’appel RPC.
IMPLICIT_HANDLE_INFO.pGenericBindingInfo
Pointeur vers les informations relatives au handle générique implicite.
apfnNdrRundownRoutines
Tableau de fonctions d’exécution du handle de contexte.
aGenericBindingRoutinePairs
Tableau de pointeurs de fonction pour lier et annuler des paires de fonctions pour le handle générique implicite.
apfnExprEval
Tableau de pointeurs de fonction vers des fonctions évaluateurs d’expression utilisées pour évaluer la conformité complexe MIDL et diverses descriptions. 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 de compilateur MIDL spécifiée par l’utilisateur.
Version
Version de remise requise pour le stub.
pMallocFreeStruct
Pointeur vers la structure MALLOC_FREE_STRUCT qui contient les pointeurs d’allocation et de fonction libre. Utilisez si l’attribut MIDL enable_allocate est spécifié.
MIDLVersion
Version du compilateur MIDL utilisée 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 notification ou notify_flag spécifié.
mFlags
Indicateur décrivant les attributs du stub
CsRoutineTables
Inutilisé.
ProxyServerInfo
pExprInfo
Spécifications
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) |