📄 oaidl_p.c
字号:
( void __RPC_FAR * )pArgErr);
_StubMsg.MaxCount = cVarRef;
NdrClearOutParameters(
( PMIDL_STUB_MESSAGE )&_StubMsg,
( PFORMAT_STRING )&__MIDL_TypeFormatString.Format[1180],
( void __RPC_FAR * )rgVarRef);
_RetVal = NdrProxyErrorHandler(RpcExceptionCode());
}
RpcEndExcept
return _RetVal;
}
void __RPC_STUB IDispatch_RemoteInvoke_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase)
{
VARIANT _M6;
UINT _M7;
HRESULT _RetVal;
MIDL_STUB_MESSAGE _StubMsg;
EXCEPINFO _pExcepInfoM;
UINT cVarRef;
DISPID dispIdMember;
DWORD dwFlags;
LCID lcid;
UINT __RPC_FAR *pArgErr;
DISPPARAMS __RPC_FAR *pDispParams;
EXCEPINFO __RPC_FAR *pExcepInfo;
VARIANT __RPC_FAR *pVarResult;
VARIANTARG __RPC_FAR *rgVarRef;
UINT __RPC_FAR *rgVarRefIdx;
IID* riid = 0;
NdrStubInitialize(
_pRpcMessage,
&_StubMsg,
&Object_StubDesc,
_pRpcChannelBuffer);
pDispParams = 0;
pVarResult = 0;
pExcepInfo = 0;
pArgErr = 0;
rgVarRefIdx = 0;
rgVarRef = 0;
RpcTryFinally
{
if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[34] );
dispIdMember = *( DISPID __RPC_FAR * )_StubMsg.Buffer;
_StubMsg.Buffer += sizeof(DISPID);
NdrSimpleStructUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
(unsigned char __RPC_FAR * __RPC_FAR *)&riid,
(PFORMAT_STRING) &__MIDL_TypeFormatString.Format[38],
(unsigned char)0 );
lcid = *( LCID __RPC_FAR * )_StubMsg.Buffer;
_StubMsg.Buffer += sizeof(LCID);
dwFlags = *( DWORD __RPC_FAR * )_StubMsg.Buffer;
_StubMsg.Buffer += sizeof(DWORD);
NdrComplexStructUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
(unsigned char __RPC_FAR * __RPC_FAR *)&pDispParams,
(PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1080],
(unsigned char)0 );
_StubMsg.Buffer = (unsigned char __RPC_FAR *)(((long)_StubMsg.Buffer + 3) & ~ 0x3);
cVarRef = *( UINT __RPC_FAR * )_StubMsg.Buffer;
_StubMsg.Buffer += sizeof(UINT);
NdrConformantArrayUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
(unsigned char __RPC_FAR * __RPC_FAR *)&rgVarRefIdx,
(PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1170],
(unsigned char)0 );
NdrComplexArrayUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
(unsigned char __RPC_FAR * __RPC_FAR *)&rgVarRef,
(PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1184],
(unsigned char)0 );
pVarResult = &_M6;
MIDL_memset(
pVarResult,
0,
sizeof( VARIANT ));
pExcepInfo = &_pExcepInfoM;
pArgErr = &_M7;
*_pdwStubPhase = STUB_CALL_SERVER;
_RetVal = IDispatch_Invoke_Stub(
(IDispatch *) ((CStdStubBuffer *)This)->pvServerObject,
dispIdMember,
riid,
lcid,
dwFlags,
pDispParams,
pVarResult,
pExcepInfo,
pArgErr,
cVarRef,
rgVarRefIdx,
rgVarRef);
*_pdwStubPhase = STUB_MARSHAL;
_StubMsg.BufferLength = 8U + 7U + 11U + 7U + 7U;
NdrUserMarshalBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
(unsigned char __RPC_FAR *)pVarResult,
(PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1110] );
NdrComplexStructBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
(unsigned char __RPC_FAR *)pExcepInfo,
(PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1138] );
_StubMsg.MaxCount = cVarRef;
NdrComplexArrayBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
(unsigned char __RPC_FAR *)rgVarRef,
(PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1184] );
_StubMsg.BufferLength += 16;
NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
NdrUserMarshalMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
(unsigned char __RPC_FAR *)pVarResult,
(PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1110] );
NdrComplexStructMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
(unsigned char __RPC_FAR *)pExcepInfo,
(PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1138] );
_StubMsg.Buffer = (unsigned char __RPC_FAR *)(((long)_StubMsg.Buffer + 3) & ~ 0x3);
*( UINT __RPC_FAR * )_StubMsg.Buffer = *pArgErr;
_StubMsg.Buffer += sizeof(UINT);
_StubMsg.MaxCount = cVarRef;
NdrComplexArrayMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
(unsigned char __RPC_FAR *)rgVarRef,
(PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1184] );
_StubMsg.Buffer = (unsigned char __RPC_FAR *)(((long)_StubMsg.Buffer + 3) & ~ 0x3);
*( HRESULT __RPC_FAR * )_StubMsg.Buffer = _RetVal;
_StubMsg.Buffer += sizeof(HRESULT);
}
RpcFinally
{
NdrPointerFree( &_StubMsg,
(unsigned char __RPC_FAR *)pDispParams,
&__MIDL_TypeFormatString.Format[98] );
NdrPointerFree( &_StubMsg,
(unsigned char __RPC_FAR *)pVarResult,
&__MIDL_TypeFormatString.Format[1102] );
NdrPointerFree( &_StubMsg,
(unsigned char __RPC_FAR *)pExcepInfo,
&__MIDL_TypeFormatString.Format[1120] );
_StubMsg.MaxCount = cVarRef;
NdrPointerFree( &_StubMsg,
(unsigned char __RPC_FAR *)rgVarRef,
&__MIDL_TypeFormatString.Format[1180] );
}
RpcEndFinally
_pRpcMessage->BufferLength =
(unsigned int)((long)_StubMsg.Buffer - (long)_pRpcMessage->Buffer);
}
static const CINTERFACE_PROXY_VTABLE(7) _IDispatchProxyVtbl =
{
{ &IID_IDispatch },
{
IUnknown_QueryInterface_Proxy,
IUnknown_AddRef_Proxy,
IUnknown_Release_Proxy ,
IDispatch_GetTypeInfoCount_Proxy ,
IDispatch_GetTypeInfo_Proxy ,
IDispatch_GetIDsOfNames_Proxy ,
IDispatch_Invoke_Proxy
}
};
static const PRPC_STUB_FUNCTION IDispatch_table[] =
{
IDispatch_GetTypeInfoCount_Stub,
IDispatch_GetTypeInfo_Stub,
IDispatch_GetIDsOfNames_Stub,
IDispatch_RemoteInvoke_Stub
};
static const CInterfaceStubVtbl _IDispatchStubVtbl =
{
{
&IID_IDispatch,
0,
7,
&IDispatch_table[-3]
},
{ CStdStubBuffer_METHODS }
};
/* Object interface: IEnumVARIANT, ver. 0.0,
GUID={0x00020404,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */
extern const MIDL_STUB_DESC Object_StubDesc;
/* [call_as] */ HRESULT STDMETHODCALLTYPE IEnumVARIANT_RemoteNext_Proxy(
IEnumVARIANT __RPC_FAR * This,
/* [in] */ ULONG celt,
/* [length_is][size_is][out] */ VARIANT __RPC_FAR *rgVar,
/* [out] */ ULONG __RPC_FAR *pCeltFetched)
{
HRESULT _RetVal;
RPC_MESSAGE _RpcMessage;
MIDL_STUB_MESSAGE _StubMsg;
if(rgVar)
{
MIDL_memset(
rgVar,
0,
celt * sizeof( VARIANT ));
}
RpcTryExcept
{
NdrProxyInitialize(
( void __RPC_FAR * )This,
( PRPC_MESSAGE )&_RpcMessage,
( PMIDL_STUB_MESSAGE )&_StubMsg,
( PMIDL_STUB_DESC )&Object_StubDesc,
3);
if(!rgVar)
{
RpcRaiseException(RPC_X_NULL_REF_POINTER);
}
if(!pCeltFetched)
{
RpcRaiseException(RPC_X_NULL_REF_POINTER);
}
RpcTryFinally
{
_StubMsg.BufferLength = 4U;
NdrProxyGetBuffer(This, &_StubMsg);
*( ULONG __RPC_FAR * )_StubMsg.Buffer = celt;
_StubMsg.Buffer += sizeof(ULONG);
NdrProxySendReceive(This, &_StubMsg);
if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[72] );
NdrComplexArrayUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
(unsigned char __RPC_FAR * __RPC_FAR *)&rgVar,
(PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1206],
(unsigned char)0 );
_StubMsg.Buffer = (unsigned char __RPC_FAR *)(((long)_StubMsg.Buffer + 3) & ~ 0x3);
*pCeltFetched = *( ULONG __RPC_FAR * )_StubMsg.Buffer;
_StubMsg.Buffer += sizeof(ULONG);
_RetVal = *( HRESULT __RPC_FAR * )_StubMsg.Buffer;
_StubMsg.Buffer += sizeof(HRESULT);
}
RpcFinally
{
NdrProxyFreeBuffer(This, &_StubMsg);
}
RpcEndFinally
}
RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
{
_StubMsg.MaxCount = celt;
_StubMsg.Offset = 0;
_StubMsg.ActualCount = _StubMsg.MaxCount;
NdrClearOutParameters(
( PMIDL_STUB_MESSAGE )&_StubMsg,
( PFORMAT_STRING )&__MIDL_TypeFormatString.Format[1202],
( void __RPC_FAR * )rgVar);
NdrClearOutParameters(
( PMIDL_STUB_MESSAGE )&_StubMsg,
( PFORMAT_STRING )&__MIDL_TypeFormatString.Format[2],
( void __RPC_FAR * )pCeltFetched);
_RetVal = NdrProxyErrorHandler(RpcExceptionCode());
}
RpcEndExcept
return _RetVal;
}
void __RPC_STUB IEnumVARIANT_RemoteNext_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase)
{
ULONG _M11;
HRESULT _RetVal;
MIDL_STUB_MESSAGE _StubMsg;
ULONG celt;
ULONG __RPC_FAR *pCeltFetched;
VARIANT __RPC_FAR *rgVar;
NdrStubInitialize(
_pRpcMessage,
&_StubMsg,
&Object_StubDesc,
_pRpcChannelBuffer);
rgVar = 0;
pCeltFetched = 0;
RpcTryFinally
{
if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[72] );
celt = *( ULONG __RPC_FAR * )_StubMsg.Buffer;
_StubMsg.Buffer += sizeof(ULONG);
rgVar = NdrAllocate(&_StubMsg,celt * 16);
pCeltFetched = &_M11;
*_pdwStubPhase = STUB_CALL_SERVER;
_RetVal = IEnumVARIANT_Next_Stub(
(IEnumVARIANT *) ((CStdStubBuffer *)This)->pvServerObject,
celt,
rgVar,
pCeltFetched);
*_pdwStubPhase = STUB_MARSHAL;
_StubMsg.BufferLength = 12U + 7U + 7U;
_StubMsg.MaxCount = celt;
_StubMsg.Offset = 0;
_StubMsg.ActualCount = pCeltFetched ? *pCeltFetched : 0;
NdrComplexArrayBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
(unsigned char __RPC_FAR *)rgVar,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -