[RPCRT4] Sync with Wine Staging 3.9. CORE-14656

This commit is contained in:
Amine Khaldi 2018-06-04 03:49:11 +01:00
parent 9e90c368ef
commit 96d77d846f
3 changed files with 27 additions and 6 deletions

View file

@ -5745,11 +5745,16 @@ static unsigned char *union_arm_marshall(PMIDL_STUB_MESSAGE pStubMsg, unsigned c
pStubMsg->Buffer = saved_buffer + 4; pStubMsg->Buffer = saved_buffer + 4;
} }
break; break;
case RPC_FC_IP:
/* must be dereferenced first */
m(pStubMsg, *(unsigned char **)pMemory, desc);
break;
default: default:
m(pStubMsg, pMemory, desc); m(pStubMsg, pMemory, desc);
} }
} }
else FIXME("no marshaller for embedded type %02x\n", *desc); else if (*desc)
FIXME("no marshaller for embedded type %02x\n", *desc);
} }
return NULL; return NULL;
} }
@ -5814,11 +5819,16 @@ static unsigned char *union_arm_unmarshall(PMIDL_STUB_MESSAGE pStubMsg,
pStubMsg->Buffer = saved_buffer + 4; pStubMsg->Buffer = saved_buffer + 4;
} }
break; break;
case RPC_FC_IP:
/* must be dereferenced first */
m(pStubMsg, *(unsigned char ***)ppMemory, desc, fMustAlloc);
break;
default: default:
m(pStubMsg, ppMemory, desc, fMustAlloc); m(pStubMsg, ppMemory, desc, fMustAlloc);
} }
} }
else FIXME("no marshaller for embedded type %02x\n", *desc); else if (*desc)
FIXME("no marshaller for embedded type %02x\n", *desc);
} }
return NULL; return NULL;
} }
@ -5868,11 +5878,16 @@ static void union_arm_buffer_size(PMIDL_STUB_MESSAGE pStubMsg,
pStubMsg->BufferLength = saved_buffer_length; pStubMsg->BufferLength = saved_buffer_length;
} }
break; break;
case RPC_FC_IP:
/* must be dereferenced first */
m(pStubMsg, *(unsigned char **)pMemory, desc);
break;
default: default:
m(pStubMsg, pMemory, desc); m(pStubMsg, pMemory, desc);
} }
} }
else FIXME("no buffersizer for embedded type %02x\n", *desc); else if (*desc)
FIXME("no buffersizer for embedded type %02x\n", *desc);
} }
} }
@ -5920,7 +5935,8 @@ static ULONG union_arm_memory_size(PMIDL_STUB_MESSAGE pStubMsg,
return m(pStubMsg, desc); return m(pStubMsg, desc);
} }
} }
else FIXME("no marshaller for embedded type %02x\n", *desc); else if (*desc)
FIXME("no marshaller for embedded type %02x\n", *desc);
} }
TRACE("size %d\n", size); TRACE("size %d\n", size);
@ -5955,6 +5971,10 @@ static void union_arm_free(PMIDL_STUB_MESSAGE pStubMsg,
case RPC_FC_FP: case RPC_FC_FP:
PointerFree(pStubMsg, *(unsigned char **)pMemory, desc); PointerFree(pStubMsg, *(unsigned char **)pMemory, desc);
break; break;
case RPC_FC_IP:
/* must be dereferenced first */
m(pStubMsg, *(unsigned char **)pMemory, desc);
break;
default: default:
m(pStubMsg, pMemory, desc); m(pStubMsg, pMemory, desc);
} }

View file

@ -1220,7 +1220,8 @@ RPC_STATUS WINAPI RpcServerUnregisterIf( RPC_IF_HANDLE IfSpec, UUID* MgrTypeUuid
EnterCriticalSection(&server_cs); EnterCriticalSection(&server_cs);
LIST_FOR_EACH_ENTRY(cif, &server_interfaces, RpcServerInterface, entry) { LIST_FOR_EACH_ENTRY(cif, &server_interfaces, RpcServerInterface, entry) {
if ((!IfSpec || !memcmp(&If->InterfaceId, &cif->If->InterfaceId, sizeof(RPC_SYNTAX_IDENTIFIER))) && if (((!IfSpec && !(cif->Flags & RPC_IF_AUTOLISTEN)) ||
(IfSpec && !memcmp(&If->InterfaceId, &cif->If->InterfaceId, sizeof(RPC_SYNTAX_IDENTIFIER)))) &&
UuidEqual(MgrTypeUuid, &cif->MgrTypeUuid, &status)) { UuidEqual(MgrTypeUuid, &cif->MgrTypeUuid, &status)) {
list_remove(&cif->entry); list_remove(&cif->entry);
TRACE("unregistering cif %p\n", cif); TRACE("unregistering cif %p\n", cif);

View file

@ -160,7 +160,7 @@ reactos/dll/win32/rasapi32 # Synced to WineStaging-3.3
reactos/dll/win32/resutils # Synced to WineStaging-3.3 reactos/dll/win32/resutils # Synced to WineStaging-3.3
reactos/dll/win32/riched20 # Synced to WineStaging-3.9 reactos/dll/win32/riched20 # Synced to WineStaging-3.9
reactos/dll/win32/riched32 # Synced to WineStaging-3.3 reactos/dll/win32/riched32 # Synced to WineStaging-3.3
reactos/dll/win32/rpcrt4 # Synced to WineStaging-3.3 reactos/dll/win32/rpcrt4 # Synced to WineStaging-3.9
reactos/dll/win32/rsabase # Synced to WineStaging-3.3 reactos/dll/win32/rsabase # Synced to WineStaging-3.3
reactos/dll/win32/rsaenh # Synced to WineStaging-2.9 reactos/dll/win32/rsaenh # Synced to WineStaging-2.9
reactos/dll/win32/sccbase # Synced to WineStaging-3.3 reactos/dll/win32/sccbase # Synced to WineStaging-3.3