MIDL_STUB_DESC structure (rpcndr.h)
The MIDL_STUB_DESC structure is a MIDL-generated structure that contains information about the interface stub regarding RPC calls between the client and server.
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;
RpcInterfaceInformation
For a nonobject RPC interface on the server-side, it points to an RPC server interface structure. On the client-side, it points to an RPC client interface structure. It is null for an object interface.
pfnAllocate
Memory allocation function to be used by the stub. Set to midl_user_allocate for nonobject interface and NdrOleAllocate for object interface.
pfnFree
Memory-free function to be used by the stub. Set to midl_user_free for nonobject interface and NdrOleFree for object interface.
IMPLICIT_HANDLE_INFO
The union contains one of the following handles.
IMPLICIT_HANDLE_INFO.pAutoHandle
Pointer to the implicit auto handle for the RPC call.
IMPLICIT_HANDLE_INFO.pPrimitiveHandle
Pointer to the implicit primitive handle for the RPC call.
IMPLICIT_HANDLE_INFO.pGenericBindingInfo
Pointer to the information about the implicit generic handle.
apfnNdrRundownRoutines
Array of context handle rundown functions.
aGenericBindingRoutinePairs
Array of function pointers to bind and unbind function pairs for the implicit generic handle.
apfnExprEval
Array of function pointers to expression evaluator functions used to evaluate MIDL complex conformance and varying descriptions. For example, size_is(param1 + param2).
aXmitQuintuple
Array of an array of function pointers for user-defined transmit_as and represent_as types.
pFormatTypes
Pointer to the type format description.
fCheckBounds
Flag describing the user-specified /error MIDL compiler option.
Version
NDR version required for the stub.
pMallocFreeStruct
Pointer to the MALLOC_FREE_STRUCT structure which contains the allocate and free function pointers. Use if the enable_allocate MIDL attribute is specified.
MIDLVersion
Version of the MIDL compiler used to compile the .idl file.
CommFaultOffsets
Array of stack offsets for parameters with comm_status or fault_status attributes.
aUserMarshalQuadruple
Array of an array of function pointers for user-defined user_marshal and wire_marshal types.
NotifyRoutineTable
Array of notification function pointers for methods with the notify or notify_flag attribute specified.
mFlags
Flag describing the attributes of the stub
CsRoutineTables
Unused.
ProxyServerInfo
pExprInfo
Requirement | Value |
---|---|
Minimum supported client | Windows 2000 Professional [desktop apps only] |
Minimum supported server | Windows 2000 Server [desktop apps only] |
Header | rpcndr.h (include Rpc.h) |