Module: wine Branch: refs/heads/master Commit: 5067ea70c08a6c3b8dff815085768ddd368a15fc URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=5067ea70c08a6c3b8dff8150...
Author: Robert Shearman rob@codeweavers.com Date: Thu May 18 03:39:42 2006 +0100
rpcrt4: Increment the call id field of the request header.
This is necessary for compatibility with MS/RPC servers.
---
dlls/rpcrt4/rpc_binding.h | 1 + dlls/rpcrt4/rpc_message.c | 1 + dlls/rpcrt4/rpc_transport.c | 1 + 3 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/dlls/rpcrt4/rpc_binding.h b/dlls/rpcrt4/rpc_binding.h index 99916a5..d9e1576 100644 --- a/dlls/rpcrt4/rpc_binding.h +++ b/dlls/rpcrt4/rpc_binding.h @@ -37,6 +37,7 @@ typedef struct _RpcConnection USHORT MaxTransmissionSize; /* The active interface bound to server. */ RPC_SYNTAX_IDENTIFIER ActiveInterface; + USHORT NextCallId;
/* authentication */ CtxtHandle ctx; diff --git a/dlls/rpcrt4/rpc_message.c b/dlls/rpcrt4/rpc_message.c index f279910..a4d92b6 100644 --- a/dlls/rpcrt4/rpc_message.c +++ b/dlls/rpcrt4/rpc_message.c @@ -666,6 +666,7 @@ RPC_STATUS WINAPI I_RpcSend(PRPC_MESSAGE hdr = RPCRT4_BuildRequestHeader(pMsg->DataRepresentation, pMsg->BufferLength, pMsg->ProcNum, &bind->ObjectUuid); + hdr->common.call_id = conn->NextCallId++; }
status = RPCRT4_Send(conn, hdr, pMsg->Buffer, pMsg->BufferLength); diff --git a/dlls/rpcrt4/rpc_transport.c b/dlls/rpcrt4/rpc_transport.c index 0db5b6a..88a7769 100644 --- a/dlls/rpcrt4/rpc_transport.c +++ b/dlls/rpcrt4/rpc_transport.c @@ -451,6 +451,7 @@ RPC_STATUS RPCRT4_CreateConnection(RpcCo NewConnection->Endpoint = RPCRT4_strdupA(Endpoint); NewConnection->Used = Binding; NewConnection->MaxTransmissionSize = RPC_MAX_PACKET_SIZE; + NewConnection->NextCallId = 1;
TRACE("connection: %p\n", NewConnection); *Connection = NewConnection;