Bagikan melalui


struktur MIDL_STUB_DESC (rpcndr.h)

Struktur MIDL_STUB_DESC adalah struktur yang dihasilkan MIDL yang berisi informasi tentang stub antarmuka mengenai panggilan RPC antara klien dan server.

Sintaks

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;

Anggota

RpcInterfaceInformation

Untuk antarmuka RPC nonobject di sisi server, itu menunjuk ke struktur antarmuka server RPC. Di sisi klien, menunjuk ke struktur antarmuka klien RPC. Ini null untuk antarmuka objek.

pfnAllocate

Fungsi alokasi memori yang akan digunakan oleh stub. Atur ke midl_user_allocate untuk antarmuka nonobject dan NdrOleAllocate untuk antarmuka objek.

pfnFree

Fungsi bebas memori yang akan digunakan oleh ganja. Atur ke midl_user_free untuk antarmuka nonobject dan NdrOleFree untuk antarmuka objek.

IMPLICIT_HANDLE_INFO

Serikat berisi salah satu handel berikut.

IMPLICIT_HANDLE_INFO.pAutoHandle

Arahkan ke handel otomatis implisit untuk panggilan RPC.

IMPLICIT_HANDLE_INFO.pPrimitiveHandle

Arahkan ke handel primitif implisit untuk panggilan RPC.

IMPLICIT_HANDLE_INFO.pGenericBindingInfo

Arahkan ke informasi tentang handel generik implisit.

apfnNdrRundownRoutines

Array konteks menangani fungsi rundown.

aGenericBindingRoutinePairs

Array penunjuk fungsi untuk mengikat dan membatalkan pengikatan pasangan fungsi untuk handel generik implisit.

apfnExprEval

Array fungsi pointer ke fungsi evaluator ekspresi yang digunakan untuk mengevaluasi kesesuaian kompleks MIDL dan deskripsi yang bervariasi. Misalnya, size_is(param1 + param2).

aXmitQuintuple

Array array penunjuk fungsi untuk jenis transmit_as dan represent_as yang ditentukan pengguna.

pFormatTypes

Penunjuk ke deskripsi format jenis.

fCheckBounds

Bendera yang menjelaskan opsi pengkompilasi /error MIDL yang ditentukan pengguna.

Version

Versi NDR diperlukan untuk stub.

pMallocFreeStruct

Arahkan ke struktur MALLOC_FREE_STRUCT yang berisi pointer fungsi alokasi dan bebas. Gunakan jika atribut enable_allocate MIDL ditentukan.

MIDLVersion

Versi pengkompilasi MIDL yang digunakan untuk mengkompilasi file .idl.

CommFaultOffsets

Array offset tumpukan untuk parameter dengan atribut comm_status atau fault_status .

aUserMarshalQuadruple

Array array penunjuk fungsi untuk jenis user_marshal dan wire_marshal yang ditentukan pengguna.

NotifyRoutineTable

Array penunjuk fungsi pemberitahuan untuk metode dengan atribut pemberitahuan atau notify_flag ditentukan.

mFlags

Bendera yang menjelaskan atribut stub

Nilai Makna
RPCFLG_HAS_MULTI_SYNTAXES
Atur jika stub mendukung beberapa sintaks transfer.
RPCFLG_HAS_CALLBACK
Atur jika antarmuka berisi fungsi panggilan balik.
RPC_INTERFACE_HAS_PIPES
Atur jika antarmuka berisi metode yang menggunakan pipa.

CsRoutineTables

Tidak digunakan.

ProxyServerInfo

pExprInfo

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Header rpcndr.h (termasuk Rpc.h)