MIDL_STUB_DESC Struktur (rpcndr.h)

Die MIDL_STUB_DESC Struktur ist eine MIDL-generierte Struktur, die Informationen zum Schnittstellen-Stub für RPC-Aufrufe zwischen dem Client und dem Server enthält.

Syntax

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;

Member

RpcInterfaceInformation

Für eine NICHT-Objekt-RPC-Schnittstelle auf der Serverseite verweist sie auf eine RPC-Serverschnittstellenstruktur. Auf der clientseitigen Seite verweist sie auf eine RPC-Clientschnittstellenstruktur. Es ist null für eine Objektschnittstelle.

pfnAllocate

Speicherzuweisungsfunktion, die vom Stub verwendet werden soll. Legen Sie für die Objektschnittstelle und NdrOleAllocate für die Objektschnittstelle auf midl_user_allocate fest.

pfnFree

Speicherfreie Funktion, die vom Stub verwendet werden soll. Legen Sie für die Objektschnittstelle und für die Objektschnittstelle NdrOleFree auf midl_user_free fest.

IMPLICIT_HANDLE_INFO

Die Union enthält einen der folgenden Ziehpunkte.

IMPLICIT_HANDLE_INFO.pAutoHandle

Zeiger auf den impliziten automatischen Handle für den RPC-Aufruf.

IMPLICIT_HANDLE_INFO.pPrimitiveHandle

Zeiger auf den impliziten Grundhandpunkt für den RPC-Aufruf.

IMPLICIT_HANDLE_INFO.pGenericBindingInfo

Zeigen Sie auf die Informationen zum impliziten generischen Handle.

apfnNdrRundownRoutines

Array des Kontexthandlings rundown-Funktionen.

aGenericBindingRoutinePairs

Array von Funktionszeigern zum Binden und Aufheben der Bindung von Funktionspaaren für den impliziten generischen Handle.

apfnExprEval

Array von Funktionszeigern auf Ausdrucksbewertungsfunktionen, die zum Auswerten der komplexen MIDL-Konformität und unterschiedlicher Beschreibungen verwendet werden. Beispiel: size_is(param1 + param2).

aXmitQuintuple

Array eines Arrays von Funktionszeigern für benutzerdefinierte transmit_as und represent_as Typen.

pFormatTypes

Zeiger auf die Typformatbeschreibung.

fCheckBounds

Flag, das die vom Benutzer angegebene /error MIDL-Compileroption beschreibt.

Version

Für den Stub erforderliche NDR-Version.

pMallocFreeStruct

Zeiger auf die MALLOC_FREE_STRUCT Struktur, die die zugewiesenen und freien Funktionszeiger enthält. Verwenden Sie, wenn das enable_allocate MIDL-Attribut angegeben wird.

MIDLVersion

Version des MIDL-Compilers, der zum Kompilieren der IDL-Datei verwendet wird.

CommFaultOffsets

Array von Stapelversatzen für Parameter mit comm_status oder fault_status Attributen.

aUserMarshalQuadruple

Array eines Arrays von Funktionszeigern für benutzerdefinierte user_marshal und wire_marshal Typen.

NotifyRoutineTable

Array von Benachrichtigungsfunktionszeigern für Methoden mit dem angegebenen Benachrichtigungs - oder notify_flag-Attribut .

mFlags

Flag, das die Attribute des Stubs beschreibt

Wert Bedeutung
RPCFLG_HAS_MULTI_SYNTAXES
Legen Sie fest, ob der Stub mehrere Übertragungssyntaxen unterstützt.
RPCFLG_HAS_CALLBACK
Legen Sie fest, ob die Schnittstelle Rückruffunktionen enthält.
RPC_INTERFACE_HAS_PIPES
Legen Sie fest, ob die Schnittstelle eine Methode enthält, die Rohre verwendet.

CsRoutineTables

Nicht verwendet.

ProxyServerInfo

pExprInfo

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Header rpcndr.h (include Rpc.h)