Compartilhar via


estrutura MIDL_STUB_DESC (rpcndr.h)

A estrutura MIDL_STUB_DESC é uma estrutura gerada por MIDL que contém informações sobre o stub da interface em relação a chamadas RPC entre o cliente e o servidor.

Sintaxe

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;

Membros

RpcInterfaceInformation

Para uma interface RPC do nonobject no lado do servidor, ela aponta para uma estrutura de interface do servidor RPC. No lado do cliente, ele aponta para uma estrutura de interface do cliente RPC. É nulo para uma interface de objeto.

pfnAllocate

Função de alocação de memória a ser usada pelo stub. Defina como midl_user_allocate para interface nonobject e NdrOleAllocate para interface de objeto.

pfnFree

Função sem memória a ser usada pelo stub. Defina como midl_user_free para interface nonobject e NdrOleFree para interface de objeto.

IMPLICIT_HANDLE_INFO

A união contém um dos identificadores a seguir.

IMPLICIT_HANDLE_INFO.pAutoHandle

Ponteiro para o identificador automático implícito para a chamada RPC.

IMPLICIT_HANDLE_INFO.pPrimitiveHandle

Ponteiro para o identificador primitivo implícito para a chamada RPC.

IMPLICIT_HANDLE_INFO.pGenericBindingInfo

Ponteiro para as informações sobre o identificador genérico implícito.

apfnNdrRundownRoutines

Matriz de funções de rundown do identificador de contexto.

aGenericBindingRoutinePairs

Matriz de ponteiros de função para associar e desassociar pares de funções para o identificador genérico implícito.

apfnExprEval

Matriz de ponteiros de função para funções de avaliador de expressão usadas para avaliar a conformidade complexa de MIDL e descrições variadas. Por exemplo, size_is(param1 + param2).

aXmitQuintuple

Matriz de uma matriz de ponteiros de função para tipos de transmit_as e represent_as definidos pelo usuário.

pFormatTypes

Ponteiro para a descrição do formato de tipo.

fCheckBounds

Sinalizador que descreve a opção do compilador MIDL /error especificada pelo usuário.

Version

Versão NDR necessária para o stub.

pMallocFreeStruct

Ponteiro para a estrutura MALLOC_FREE_STRUCT que contém os ponteiros de função alocar e livre. Use se o atributo MIDL enable_allocate for especificado.

MIDLVersion

Versão do compilador MIDL usada para compilar o arquivo .idl.

CommFaultOffsets

Matriz de deslocamentos de pilha para parâmetros com atributos comm_status ou fault_status .

aUserMarshalQuadruple

Matriz de uma matriz de ponteiros de função para tipos de user_marshal e wire_marshal definidos pelo usuário.

NotifyRoutineTable

Matriz de ponteiros de função de notificação para métodos com o atributo notify ou notify_flag especificado.

mFlags

Sinalizador que descreve os atributos do stub

Valor Significado
RPCFLG_HAS_MULTI_SYNTAXES
Defina se o stub dá suporte a várias sintaxes de transferência.
RPCFLG_HAS_CALLBACK
Defina se a interface contiver funções de retorno de chamada.
RPC_INTERFACE_HAS_PIPES
Defina se a interface contiver um método que usa pipes.

CsRoutineTables

Não utilizado.

ProxyServerInfo

pExprInfo

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho rpcndr.h (inclua Rpc.h)