Home | Info | Community | Development | myReactOS | Contact Us
Definition at line 7161 of file ndr_marshall.c.
Referenced by NdrContextHandleUnmarshall().
{ NDR_SCONTEXT ContextHandle; RPC_SYNTAX_IDENTIFIER *if_id = NULL; ULONG flags = RPC_CONTEXT_HANDLE_DEFAULT_FLAGS; TRACE("(%p, %p)\n", pStubMsg, pFormat); align_pointer(&pStubMsg->Buffer, 4); if (pStubMsg->Buffer + cbNDRContext > (unsigned char *)pStubMsg->RpcMsg->Buffer + pStubMsg->BufferLength) { ERR("buffer overflow - Buffer = %p, BufferEnd = %p\n", pStubMsg->Buffer, (unsigned char *)pStubMsg->RpcMsg->Buffer + pStubMsg->BufferLength); RpcRaiseException(RPC_X_BAD_STUB_DATA); } if (pFormat[1] & NDR_CONTEXT_HANDLE_SERIALIZE) flags |= RPC_CONTEXT_HANDLE_SERIALIZE; if (pFormat[1] & NDR_CONTEXT_HANDLE_NO_SERIALIZE) flags |= RPC_CONTEXT_HANDLE_DONT_SERIALIZE; if (pFormat[1] & NDR_STRICT_CONTEXT_HANDLE) { RPC_SERVER_INTERFACE *sif = pStubMsg->StubDesc->RpcInterfaceInformation; if_id = &sif->InterfaceId; } ContextHandle = NDRSContextUnmarshall2(pStubMsg->RpcMsg->Handle, pStubMsg->Buffer, pStubMsg->RpcMsg->DataRepresentation, if_id, flags); pStubMsg->Buffer += cbNDRContext; return ContextHandle; }