📄 oaidl_p.c
字号:
( PMIDL_STUB_MESSAGE )&_StubMsg,
( PMIDL_STUB_DESC )&Object_StubDesc,
5);
if(!riid)
{
RpcRaiseException(RPC_X_NULL_REF_POINTER);
}
if(!rgszNames)
{
RpcRaiseException(RPC_X_NULL_REF_POINTER);
}
if(!rgDispId)
{
RpcRaiseException(RPC_X_NULL_REF_POINTER);
}
RpcTryFinally
{
_StubMsg.BufferLength = 0U + 7U + 7U + 7U;
NdrSimpleStructBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
(unsigned char __RPC_FAR *)riid,
(PFORMAT_STRING) &__MIDL_TypeFormatString.Format[38] );
_StubMsg.MaxCount = cNames;
NdrConformantArrayBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
(unsigned char __RPC_FAR *)rgszNames,
(PFORMAT_STRING) &__MIDL_TypeFormatString.Format[54] );
NdrProxyGetBuffer(This, &_StubMsg);
NdrSimpleStructMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
(unsigned char __RPC_FAR *)riid,
(PFORMAT_STRING) &__MIDL_TypeFormatString.Format[38] );
_StubMsg.MaxCount = cNames;
NdrConformantArrayMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
(unsigned char __RPC_FAR *)rgszNames,
(PFORMAT_STRING) &__MIDL_TypeFormatString.Format[54] );
_StubMsg.Buffer = (unsigned char __RPC_FAR *)(((long)_StubMsg.Buffer + 3) & ~ 0x3);
*( UINT __RPC_FAR * )_StubMsg.Buffer = cNames;
_StubMsg.Buffer += sizeof(UINT);
*( LCID __RPC_FAR * )_StubMsg.Buffer = lcid;
_StubMsg.Buffer += sizeof(LCID);
NdrProxySendReceive(This, &_StubMsg);
if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[16] );
NdrConformantArrayUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
(unsigned char __RPC_FAR * __RPC_FAR *)&rgDispId,
(PFORMAT_STRING) &__MIDL_TypeFormatString.Format[88],
(unsigned char)0 );
_RetVal = *( HRESULT __RPC_FAR * )_StubMsg.Buffer;
_StubMsg.Buffer += sizeof(HRESULT);
}
RpcFinally
{
NdrProxyFreeBuffer(This, &_StubMsg);
}
RpcEndFinally
}
RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
{
_StubMsg.MaxCount = cNames;
NdrClearOutParameters(
( PMIDL_STUB_MESSAGE )&_StubMsg,
( PFORMAT_STRING )&__MIDL_TypeFormatString.Format[84],
( void __RPC_FAR * )rgDispId);
_RetVal = NdrProxyErrorHandler(RpcExceptionCode());
}
RpcEndExcept
return _RetVal;
}
void __RPC_STUB IDispatch_GetIDsOfNames_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase)
{
HRESULT _RetVal;
MIDL_STUB_MESSAGE _StubMsg;
UINT cNames;
LCID lcid;
DISPID __RPC_FAR *rgDispId;
LPOLESTR __RPC_FAR *rgszNames;
IID* riid = 0;
NdrStubInitialize(
_pRpcMessage,
&_StubMsg,
&Object_StubDesc,
_pRpcChannelBuffer);
rgszNames = 0;
rgDispId = 0;
RpcTryFinally
{
if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[16] );
NdrSimpleStructUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
(unsigned char __RPC_FAR * __RPC_FAR *)&riid,
(PFORMAT_STRING) &__MIDL_TypeFormatString.Format[38],
(unsigned char)0 );
NdrConformantArrayUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
(unsigned char __RPC_FAR * __RPC_FAR *)&rgszNames,
(PFORMAT_STRING) &__MIDL_TypeFormatString.Format[54],
(unsigned char)0 );
_StubMsg.Buffer = (unsigned char __RPC_FAR *)(((long)_StubMsg.Buffer + 3) & ~ 0x3);
cNames = *( UINT __RPC_FAR * )_StubMsg.Buffer;
_StubMsg.Buffer += sizeof(UINT);
lcid = *( LCID __RPC_FAR * )_StubMsg.Buffer;
_StubMsg.Buffer += sizeof(LCID);
rgDispId = NdrAllocate(&_StubMsg,cNames * 4);
*_pdwStubPhase = STUB_CALL_SERVER;
_RetVal = (((IDispatch*) ((CStdStubBuffer *)This)->pvServerObject)->lpVtbl) -> GetIDsOfNames(
(IDispatch *) ((CStdStubBuffer *)This)->pvServerObject,
riid,
rgszNames,
cNames,
lcid,
rgDispId);
*_pdwStubPhase = STUB_MARSHAL;
_StubMsg.BufferLength = 4U + 7U;
_StubMsg.MaxCount = cNames;
NdrConformantArrayBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
(unsigned char __RPC_FAR *)rgDispId,
(PFORMAT_STRING) &__MIDL_TypeFormatString.Format[88] );
_StubMsg.BufferLength += 16;
NdrStubGetBuffer(This, _pRpcChannelBuffer, &_StubMsg);
_StubMsg.MaxCount = cNames;
NdrConformantArrayMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
(unsigned char __RPC_FAR *)rgDispId,
(PFORMAT_STRING) &__MIDL_TypeFormatString.Format[88] );
*( HRESULT __RPC_FAR * )_StubMsg.Buffer = _RetVal;
_StubMsg.Buffer += sizeof(HRESULT);
}
RpcFinally
{
_StubMsg.MaxCount = cNames;
NdrPointerFree( &_StubMsg,
(unsigned char __RPC_FAR *)rgszNames,
&__MIDL_TypeFormatString.Format[50] );
if ( rgDispId )
_StubMsg.pfnFree( rgDispId );
}
RpcEndFinally
_pRpcMessage->BufferLength =
(unsigned int)((long)_StubMsg.Buffer - (long)_pRpcMessage->Buffer);
}
/* [call_as] */ HRESULT STDMETHODCALLTYPE IDispatch_RemoteInvoke_Proxy(
IDispatch __RPC_FAR * This,
/* [in] */ DISPID dispIdMember,
/* [in] */ REFIID riid,
/* [in] */ LCID lcid,
/* [in] */ DWORD dwFlags,
/* [in] */ DISPPARAMS __RPC_FAR *pDispParams,
/* [out] */ VARIANT __RPC_FAR *pVarResult,
/* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
/* [out] */ UINT __RPC_FAR *pArgErr,
/* [in] */ UINT cVarRef,
/* [size_is][in] */ UINT __RPC_FAR *rgVarRefIdx,
/* [size_is][out][in] */ VARIANTARG __RPC_FAR *rgVarRef)
{
HRESULT _RetVal;
RPC_MESSAGE _RpcMessage;
MIDL_STUB_MESSAGE _StubMsg;
if(pVarResult)
{
MIDL_memset(
pVarResult,
0,
sizeof( VARIANT ));
}
if(pExcepInfo)
{
MIDL_memset(
pExcepInfo,
0,
sizeof( EXCEPINFO ));
}
RpcTryExcept
{
NdrProxyInitialize(
( void __RPC_FAR * )This,
( PRPC_MESSAGE )&_RpcMessage,
( PMIDL_STUB_MESSAGE )&_StubMsg,
( PMIDL_STUB_DESC )&Object_StubDesc,
6);
if(!riid)
{
RpcRaiseException(RPC_X_NULL_REF_POINTER);
}
if(!pDispParams)
{
RpcRaiseException(RPC_X_NULL_REF_POINTER);
}
if(!pVarResult)
{
RpcRaiseException(RPC_X_NULL_REF_POINTER);
}
if(!pExcepInfo)
{
RpcRaiseException(RPC_X_NULL_REF_POINTER);
}
if(!pArgErr)
{
RpcRaiseException(RPC_X_NULL_REF_POINTER);
}
if(!rgVarRefIdx)
{
RpcRaiseException(RPC_X_NULL_REF_POINTER);
}
if(!rgVarRef)
{
RpcRaiseException(RPC_X_NULL_REF_POINTER);
}
RpcTryFinally
{
_StubMsg.BufferLength = 4U + 4U + 11U + 7U + 4U + 11U + 7U + 7U;
NdrSimpleStructBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
(unsigned char __RPC_FAR *)riid,
(PFORMAT_STRING) &__MIDL_TypeFormatString.Format[38] );
NdrComplexStructBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
(unsigned char __RPC_FAR *)pDispParams,
(PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1080] );
_StubMsg.MaxCount = cVarRef;
NdrConformantArrayBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
(unsigned char __RPC_FAR *)rgVarRefIdx,
(PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1170] );
_StubMsg.MaxCount = cVarRef;
NdrComplexArrayBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg,
(unsigned char __RPC_FAR *)rgVarRef,
(PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1184] );
NdrProxyGetBuffer(This, &_StubMsg);
*( DISPID __RPC_FAR * )_StubMsg.Buffer = dispIdMember;
_StubMsg.Buffer += sizeof(DISPID);
NdrSimpleStructMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
(unsigned char __RPC_FAR *)riid,
(PFORMAT_STRING) &__MIDL_TypeFormatString.Format[38] );
*( LCID __RPC_FAR * )_StubMsg.Buffer = lcid;
_StubMsg.Buffer += sizeof(LCID);
*( DWORD __RPC_FAR * )_StubMsg.Buffer = dwFlags;
_StubMsg.Buffer += sizeof(DWORD);
NdrComplexStructMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
(unsigned char __RPC_FAR *)pDispParams,
(PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1080] );
_StubMsg.Buffer = (unsigned char __RPC_FAR *)(((long)_StubMsg.Buffer + 3) & ~ 0x3);
*( UINT __RPC_FAR * )_StubMsg.Buffer = cVarRef;
_StubMsg.Buffer += sizeof(UINT);
_StubMsg.MaxCount = cVarRef;
NdrConformantArrayMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
(unsigned char __RPC_FAR *)rgVarRefIdx,
(PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1170] );
_StubMsg.MaxCount = cVarRef;
NdrComplexArrayMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg,
(unsigned char __RPC_FAR *)rgVarRef,
(PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1184] );
NdrProxySendReceive(This, &_StubMsg);
if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION )
NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[34] );
NdrUserMarshalUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
(unsigned char __RPC_FAR * __RPC_FAR *)&pVarResult,
(PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1110],
(unsigned char)0 );
NdrComplexStructUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
(unsigned char __RPC_FAR * __RPC_FAR *)&pExcepInfo,
(PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1138],
(unsigned char)0 );
_StubMsg.Buffer = (unsigned char __RPC_FAR *)(((long)_StubMsg.Buffer + 3) & ~ 0x3);
*pArgErr = *( UINT __RPC_FAR * )_StubMsg.Buffer;
_StubMsg.Buffer += sizeof(UINT);
NdrComplexArrayUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg,
(unsigned char __RPC_FAR * __RPC_FAR *)&rgVarRef,
(PFORMAT_STRING) &__MIDL_TypeFormatString.Format[1184],
(unsigned char)0 );
_StubMsg.Buffer = (unsigned char __RPC_FAR *)(((long)_StubMsg.Buffer + 3) & ~ 0x3);
_RetVal = *( HRESULT __RPC_FAR * )_StubMsg.Buffer;
_StubMsg.Buffer += sizeof(HRESULT);
}
RpcFinally
{
NdrProxyFreeBuffer(This, &_StubMsg);
}
RpcEndFinally
}
RpcExcept(_StubMsg.dwStubPhase != PROXY_SENDRECEIVE)
{
NdrClearOutParameters(
( PMIDL_STUB_MESSAGE )&_StubMsg,
( PFORMAT_STRING )&__MIDL_TypeFormatString.Format[1102],
( void __RPC_FAR * )pVarResult);
NdrClearOutParameters(
( PMIDL_STUB_MESSAGE )&_StubMsg,
( PFORMAT_STRING )&__MIDL_TypeFormatString.Format[1120],
( void __RPC_FAR * )pExcepInfo);
NdrClearOutParameters(
( PMIDL_STUB_MESSAGE )&_StubMsg,
( PFORMAT_STRING )&__MIDL_TypeFormatString.Format[2],
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -