void CtxClose( /* [out][in] */ PCTXTYPE __RPC_FAR *pphContext) { RPC_BINDING_HANDLE _Handle = 0; RPC_MESSAGE _RpcMessage; MIDL_STUB_MESSAGE _StubMsg; if(!pphContext) { RpcRaiseException(RPC_X_NULL_REF_POINTER); } RpcTryFinally { NdrClientInitializeNew( ( PRPC_MESSAGE )&_RpcMessage, ( PMIDL_STUB_MESSAGE )&_StubMsg, ( PMIDL_STUB_DESC )&hello_StubDesc, 2); if(*pphContext != 0) { _Handle = NDRCContextBinding(( NDR_CCONTEXT )*pphContext);; } _StubMsg.BufferLength = 20U; NdrGetBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg, _StubMsg.BufferLength, _Handle ); NdrClientContextMarshall( ( PMIDL_STUB_MESSAGE )&_StubMsg, ( NDR_CCONTEXT )*pphContext, 0); NdrSendReceive( (PMIDL_STUB_MESSAGE) &_StubMsg, (unsigned char __RPC_FAR *) _StubMsg.Buffer ); if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION ) NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[14] ); NdrClientContextUnmarshall( ( PMIDL_STUB_MESSAGE )&_StubMsg, ( NDR_CCONTEXT __RPC_FAR * )pphContext, _Handle); } RpcFinally { NdrFreeBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg ); } RpcEndFinally }
void __RPC_STUB TestServer_HelloWorld( PRPC_MESSAGE _pRpcMessage ) { MIDL_STUB_MESSAGE _StubMsg; short data; RPC_STATUS _Status; ((void)(_Status)); NdrServerInitializeNew( _pRpcMessage, &_StubMsg, &TestServer_StubDesc); RpcTryFinally { RpcTryExcept { if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION ) NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[0] ); data = *(( short __RPC_FAR * )_StubMsg.Buffer)++; if(_StubMsg.Buffer > _StubMsg.BufferEnd) { RpcRaiseException(RPC_X_BAD_STUB_DATA); } } RpcExcept( RPC_BAD_STUB_DATA_EXCEPTION_FILTER ) { RpcRaiseException(RPC_X_BAD_STUB_DATA); } RpcEndExcept HelloWorld(data); } RpcFinally { } RpcEndFinally _pRpcMessage->BufferLength = (unsigned int)((long)_StubMsg.Buffer - (long)_pRpcMessage->Buffer); }
void MyRemoteProc( /* [in] */ int param1, /* [out] */ int __RPC_FAR outArray[ 100 ]) { RPC_MESSAGE _RpcMessage; MIDL_STUB_MESSAGE _StubMsg; RpcTryFinally { NdrClientInitializeNew( ( PRPC_MESSAGE )&_RpcMessage, ( PMIDL_STUB_MESSAGE )&_StubMsg, ( PMIDL_STUB_DESC )&MyInterface_StubDesc, 0); _StubMsg.BufferLength = 4U; NdrNsGetBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg, _StubMsg.BufferLength, MyInterface__MIDL_AutoBindHandle ); *(( int __RPC_FAR * )_StubMsg.Buffer)++ = param1; NdrNsSendReceive( (PMIDL_STUB_MESSAGE) &_StubMsg, (unsigned char __RPC_FAR *) _StubMsg.Buffer, (RPC_BINDING_HANDLE __RPC_FAR *) &MyInterface__MIDL_AutoBindHandle ); if ( (_RpcMessage.DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION ) NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[0] ); NdrFixedArrayUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg, (unsigned char __RPC_FAR * __RPC_FAR *)&outArray, (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[2], (unsigned char)0 ); } RpcFinally { NdrFreeBuffer( (PMIDL_STUB_MESSAGE) &_StubMsg ); } RpcEndFinally }
void __RPC_STUB callAny_callAny( PRPC_MESSAGE _pRpcMessage ) { long _RetVal; MIDL_STUB_MESSAGE _StubMsg; struct exec __RPC_FAR *e; unsigned char __RPC_FAR *fn; int n; struct par __RPC_FAR *p; wchar_t __RPC_FAR *path; handle_t session; RPC_STATUS _Status; ((void)(_Status)); NdrServerInitializeNew( _pRpcMessage, &_StubMsg, &callAny_StubDesc); session = _pRpcMessage->Handle; ( wchar_t __RPC_FAR * )path = 0; ( unsigned char __RPC_FAR * )fn = 0; ( struct par __RPC_FAR * )p = 0; ( struct exec __RPC_FAR * )e = 0; RpcTryFinally { RpcTryExcept { if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION ) NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[0] ); NdrConformantStringUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg, (unsigned char __RPC_FAR * __RPC_FAR *)&path, (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[4], (unsigned char)0 ); NdrConformantStringUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg, (unsigned char __RPC_FAR * __RPC_FAR *)&fn, (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[8], (unsigned char)0 ); _StubMsg.Buffer = (unsigned char __RPC_FAR *)(((long)_StubMsg.Buffer + 3) & ~ 0x3); n = *(( int __RPC_FAR * )_StubMsg.Buffer)++; NdrConformantArrayUnmarshall( (PMIDL_STUB_MESSAGE) &_StubMsg, (unsigned char __RPC_FAR * __RPC_FAR *)&p, (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[50], (unsigned char)0 ); if(_StubMsg.Buffer > _StubMsg.BufferEnd) { RpcRaiseException(RPC_X_BAD_STUB_DATA); } } RpcExcept( RPC_BAD_STUB_DATA_EXCEPTION_FILTER ) { RpcRaiseException(RPC_X_BAD_STUB_DATA); } RpcEndExcept if(1 * 8 < 0) { RpcRaiseException(RPC_X_INVALID_BOUND); } e = NdrAllocate(&_StubMsg,1 * 8); _RetVal = callAny( session, path, fn, n, p, e); _StubMsg.BufferLength = 4U + 7U + 7U; _StubMsg.MaxCount = n; NdrConformantArrayBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg, (unsigned char __RPC_FAR *)p, (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[50] ); _StubMsg.MaxCount = 1; NdrConformantArrayBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg, (unsigned char __RPC_FAR *)e, (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[94] ); _StubMsg.BufferLength += 16; _pRpcMessage->BufferLength = _StubMsg.BufferLength; _Status = I_RpcGetBuffer( _pRpcMessage ); if ( _Status ) RpcRaiseException( _Status ); _StubMsg.Buffer = (unsigned char __RPC_FAR *) _pRpcMessage->Buffer; _StubMsg.MaxCount = n; NdrConformantArrayMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg, (unsigned char __RPC_FAR *)p, (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[50] ); _StubMsg.MaxCount = 1; NdrConformantArrayMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg, (unsigned char __RPC_FAR *)e, (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[94] ); *(( long __RPC_FAR * )_StubMsg.Buffer)++ = _RetVal; } RpcFinally { _StubMsg.MaxCount = n; NdrPointerFree( &_StubMsg, (unsigned char __RPC_FAR *)p, &__MIDL_TypeFormatString.Format[10] ); if ( e ) _StubMsg.pfnFree( e ); } RpcEndFinally _pRpcMessage->BufferLength = (unsigned int)((long)_StubMsg.Buffer - (long)_pRpcMessage->Buffer); }
void __RPC_STUB callAny_getInfo( PRPC_MESSAGE _pRpcMessage ) { long _RetVal; MIDL_STUB_MESSAGE _StubMsg; wchar_t __RPC_FAR *provider; handle_t session; RPC_STATUS _Status; ((void)(_Status)); NdrServerInitializeNew( _pRpcMessage, &_StubMsg, &callAny_StubDesc); session = _pRpcMessage->Handle; ( wchar_t __RPC_FAR * )provider = 0; RpcTryFinally { RpcTryExcept { if ( (_pRpcMessage->DataRepresentation & 0X0000FFFFUL) != NDR_LOCAL_DATA_REPRESENTATION ) NdrConvert( (PMIDL_STUB_MESSAGE) &_StubMsg, (PFORMAT_STRING) &__MIDL_ProcFormatString.Format[22] ); if(_StubMsg.Buffer > _StubMsg.BufferEnd) { RpcRaiseException(RPC_X_BAD_STUB_DATA); } } RpcExcept( RPC_BAD_STUB_DATA_EXCEPTION_FILTER ) { RpcRaiseException(RPC_X_BAD_STUB_DATA); } RpcEndExcept if(260 * 2 < 0) { RpcRaiseException(RPC_X_INVALID_BOUND); } provider = NdrAllocate(&_StubMsg,260 * 2); _RetVal = getInfo(session,provider); _StubMsg.BufferLength = 12U + 10U; _StubMsg.MaxCount = 260; NdrConformantStringBufferSize( (PMIDL_STUB_MESSAGE) &_StubMsg, (unsigned char __RPC_FAR *)provider, (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[112] ); _StubMsg.BufferLength += 16; _pRpcMessage->BufferLength = _StubMsg.BufferLength; _Status = I_RpcGetBuffer( _pRpcMessage ); if ( _Status ) RpcRaiseException( _Status ); _StubMsg.Buffer = (unsigned char __RPC_FAR *) _pRpcMessage->Buffer; _StubMsg.MaxCount = 260; NdrConformantStringMarshall( (PMIDL_STUB_MESSAGE)& _StubMsg, (unsigned char __RPC_FAR *)provider, (PFORMAT_STRING) &__MIDL_TypeFormatString.Format[112] ); _StubMsg.Buffer = (unsigned char __RPC_FAR *)(((long)_StubMsg.Buffer + 3) & ~ 0x3); *(( long __RPC_FAR * )_StubMsg.Buffer)++ = _RetVal; } RpcFinally { _StubMsg.MaxCount = 260; NdrPointerFree( &_StubMsg, (unsigned char __RPC_FAR *)provider, &__MIDL_TypeFormatString.Format[108] ); } RpcEndFinally _pRpcMessage->BufferLength = (unsigned int)((long)_StubMsg.Buffer - (long)_pRpcMessage->Buffer); }