MIDL_STUB_DESC 結構 (rpcndr.h)

MIDL_STUB_DESC結構是 MIDL 產生的結構,其中包含客戶端與伺服器之間 RPC 呼叫的介面存根相關信息。

語法

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

針對伺服器端的非物件 RPC 介面,它會指向 RPC 伺服器介面結構。 在用戶端上,它會指向 RPC 用戶端介面結構。 物件介面為 Null。

pfnAllocate

存根要使用的記憶體配置函式。 針對非物件介面 設定為 midl_user_allocate ,並針對物件介面設定 為 NdrOleAllocate

pfnFree

存根要使用的無記憶體函式。 針對非物件介面 設定為 midl_user_free ,並針對物件介面設定 為 NdrOleFree

IMPLICIT_HANDLE_INFO

等位包含下列其中一個句柄。

IMPLICIT_HANDLE_INFO.pAutoHandle

RPC 呼叫之隱含自動句柄的指標。

IMPLICIT_HANDLE_INFO.pPrimitiveHandle

RPC 呼叫之隱含基本句柄的指標。

IMPLICIT_HANDLE_INFO.pGenericBindingInfo

隱含泛型句柄相關信息的指標。

apfnNdrRundownRoutines

內容句柄取消函式的陣列。

aGenericBindingRoutinePairs

要系結和取消系結隱含泛型句柄之函式配對的函式指標陣列。

apfnExprEval

表達式評估工具函式的函數指標數位列,用來評估 MIDL 複雜一致性和不同的描述。 例如, size_is ( param1 + param2) 。

aXmitQuintuple

用戶定義 transmit_asrepresent_as 型別之函式指標陣列的陣列。

pFormatTypes

類型格式描述的指標。

fCheckBounds

描述使用者指定的 /error MIDL 編譯程式選項的旗標。

Version

存根所需的 NDR 版本。

pMallocFreeStruct

包含配置和可用函式指標之MALLOC_FREE_STRUCT結構的指標。 如果指定 enable_allocate MIDL 屬性, 請使用 。

MIDLVersion

用來編譯 .idl 檔案的 MIDL 編譯程式版本。

CommFaultOffsets

具有 comm_statusfault_status 屬性之參數的堆疊位移陣列。

aUserMarshalQuadruple

用戶定義user_marshal和wire_marshal類型的函式指標陣列

NotifyRoutineTable

指定 通知notify_flag 屬性之方法的通知函式指標數位。

mFlags

描述存根屬性的旗標

意義
RPCFLG_HAS_MULTI_SYNTAXES
如果存根支援多個傳輸語法,請設定 。
RPCFLG_HAS_CALLBACK
如果介面包含回呼函式,請設定 。
RPC_INTERFACE_HAS_PIPES
如果介面包含使用管道的方法,請設定 。

CsRoutineTables

未使用的。

ProxyServerInfo

pExprInfo

規格需求

需求
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
標頭 rpcndr.h (包含 Rpc.h)