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
서버 쪽의 nonobject RPC 인터페이스의 경우 RPC 서버 인터페이스 구조를 가리킵니다. 클라이언트 쪽에서 RPC 클라이언트 인터페이스 구조를 가리킵니다. 개체 인터페이스의 경우 null입니다.
pfnAllocate
스텁에서 사용할 메모리 할당 함수입니다. nonobject 인터페이스의 경우 midl_user_allocate , 개체 인터페이스의 경우 NdrOleAllocate 로 설정합니다.
pfnFree
스텁에서 사용할 메모리 없는 함수입니다. nonobject 인터페이스의 경우 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
할당 및 사용 가능한 함수 포인터를 포함하는 MALLOC_FREE_STRUCT 구조체에 대한 포인터입니다. enable_allocate MIDL 특성이 지정된 경우 를 사용합니다.
MIDLVersion
.idl 파일을 컴파일하는 데 사용되는 MIDL 컴파일러의 버전입니다.
CommFaultOffsets
comm_status 또는 fault_status 특성이 있는 매개 변수에 대한 스택 오프셋 배열입니다.
aUserMarshalQuadruple
사용자 정의 user_marshal 및wire_marshal 형식에 대한 함수 포인터 배열의 배열입니다.
NotifyRoutineTable
알림 또는 notify_flag 특성이 지정된 메서드에 대한 알림 함수 포인터의 배열입니다.
mFlags
스텁의 특성을 설명하는 플래그
값 | 의미 |
---|---|
|
스텁이 여러 전송 구문을 지원하는지 설정합니다. |
|
인터페이스에 콜백 함수가 포함되어 있으면 를 설정합니다. |
|
인터페이스에 파이프를 사용하는 메서드가 포함되어 있으면 설정합니다. |
CsRoutineTables
사용되지 않습니다.
ProxyServerInfo
pExprInfo
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
머리글 | rpcndr.h(Rpc.h 포함) |