MIDL_STUB_DESC 構造体 (rpcndr.h)
MIDL_STUB_DESC構造体は、クライアントとサーバー間の RPC 呼び出しに関するインターフェイス スタブに関する情報を含む MIDL によって生成される構造体です。
構文
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_asおよびrepresent_as型の関数ポインターの配列。
pFormatTypes
型の書式の説明へのポインター。
fCheckBounds
ユーザー指定の /error MIDL コンパイラ オプションを記述するフラグ。
Version
スタブに必要な NDR バージョン。
pMallocFreeStruct
allocate および free 関数ポインターを含むMALLOC_FREE_STRUCT構造体へのポインター。 enable_allocate MIDL 属性が指定されている場合は、 を使用します。
MIDLVersion
.idl ファイルのコンパイルに使用される MIDL コンパイラのバージョン。
CommFaultOffsets
comm_status属性またはfault_status属性を持つパラメーターのスタック オフセットの配列。
aUserMarshalQuadruple
ユーザー定義のuser_marshal型とwire_marshal型の関数ポインターの配列。
NotifyRoutineTable
notify 属性または notify_flag 属性が指定されたメソッドの 通知 関数ポインター の 配列。
mFlags
スタブの属性を記述するフラグ
値 | 意味 |
---|---|
|
スタブで複数の転送構文がサポートされているかどうかを設定します。 |
|
インターフェイスにコールバック関数が含まれている場合は を設定します。 |
|
インターフェイスにパイプを使用するメソッドが含まれている場合は を設定します。 |
CsRoutineTables
未使用。
ProxyServerInfo
pExprInfo
必要条件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
Header | rpcndr.h (Rpc.h を含む) |