Compartir a través de


estructura MIDL_STUB_DESC (rpcndr.h)

La estructura MIDL_STUB_DESC es una estructura generada por MIDL que contiene información sobre el código auxiliar de la interfaz con respecto a las llamadas RPC entre el cliente y el servidor.

Sintaxis

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;

Miembros

RpcInterfaceInformation

Para una interfaz RPC que no sea de objeto en el lado servidor, apunta a una estructura de interfaz de servidor RPC. En el lado cliente, apunta a una estructura de interfaz de cliente RPC. Es null para una interfaz de objeto.

pfnAllocate

Función de asignación de memoria que va a usar el código auxiliar. Establézcalo en midl_user_allocate para la interfaz nonobject y NdrOleAllocate para la interfaz de objeto.

pfnFree

Función sin memoria que va a usar el código auxiliar. Se establece en midl_user_free para la interfaz que no es de objeto y NdrOleFree para la interfaz de objeto.

IMPLICIT_HANDLE_INFO

La unión contiene uno de los siguientes identificadores.

IMPLICIT_HANDLE_INFO.pAutoHandle

Puntero al identificador automático implícito de la llamada RPC.

IMPLICIT_HANDLE_INFO.pPrimitiveHandle

Puntero al identificador primitivo implícito de la llamada RPC.

IMPLICIT_HANDLE_INFO.pGenericBindingInfo

Puntero a la información sobre el identificador genérico implícito.

apfnNdrRundownRoutines

Matriz de funciones de detención de identificadores de contexto.

aGenericBindingRoutinePairs

Matriz de punteros de función para enlazar y desenlazar pares de función para el identificador genérico implícito.

apfnExprEval

Matriz de punteros de función a funciones de evaluador de expresiones usadas para evaluar la conformidad compleja midL y descripciones variables. Por ejemplo, size_is(param1 + param2).

aXmitQuintuple

Matriz de una matriz de punteros de función para tipos de transmit_as definidos por el usuario y represent_as .

pFormatTypes

Puntero a la descripción del formato de tipo.

fCheckBounds

Marca que describe la opción del compilador /error MIDL especificada por el usuario.

Version

Versión de NDR necesaria para el código auxiliar.

pMallocFreeStruct

Puntero a la estructura de MALLOC_FREE_STRUCT que contiene los punteros de función de asignación y libre. Use si se especifica el atributo ENABLE_ALLOCATE MIDL.

MIDLVersion

Versión del compilador MIDL que se usa para compilar el archivo .idl.

CommFaultOffsets

Matriz de desplazamientos de pila para parámetros con atributos comm_status o fault_status .

aUserMarshalQuadruple

Matriz de una matriz de punteros de función para tipos de user_marshal definidos por el usuario y wire_marshal .

NotifyRoutineTable

Matriz de punteros de función de notificación para métodos con el atributo notify o notify_flag especificado.

mFlags

Marca que describe los atributos del código auxiliar

Valor Significado
RPCFLG_HAS_MULTI_SYNTAXES
Establezca si el código auxiliar admite varias sintaxis de transferencia.
RPCFLG_HAS_CALLBACK
Establezca si la interfaz contiene funciones de devolución de llamada.
RPC_INTERFACE_HAS_PIPES
Establezca si la interfaz contiene un método que usa canalizaciones.

CsRoutineTables

Sin usar.

ProxyServerInfo

pExprInfo

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Encabezado rpcndr.h (incluya Rpc.h)