r.in.protseq = protseq;
r.in.Interfaces = num_ifaces;
r.in.pIIDs = iid;
- r.out.ifaces = talloc_array(ctx, struct MInterfacePointer, num_ifaces);
+ r.out.ifaces = talloc_array(ctx, struct pMInterfacePointer, num_ifaces);
r.out.pdsaOxidBindings = &dualstring;
status = dcerpc_RemoteActivation(p, ctx, &r);
results[i] = r.out.results[i];
(*ip)[i] = NULL;
if (W_ERROR_IS_OK(results[i])) {
- status = dcom_IUnknown_from_OBJREF(ctx, &(*ip)[i], &r.out.ifaces[i].obj);
+ status = dcom_IUnknown_from_OBJREF(ctx, &(*ip)[i], &r.out.ifaces[i].ip->obj);
if (!NT_STATUS_IS_OK(status)) {
results[i] = ntstatus_to_werror(status);
}
struct DUALSTRINGARRAY dualstring;
NTSTATUS status;
struct MInterfacePointer pm;
+ struct pMInterfacePointer ifaces[1];
uint16_t protseq[] = DCOM_NEGOTIATED_PROTOCOLS;
if (!server) {
r.in.Interfaces = 1;
r.in.pIIDs = iid;
r.in.Mode = MODE_GET_CLASS_OBJECT;
- r.out.ifaces = ±
+ r.out.ifaces = ifaces;
+ ifaces[0].ip = ±
r.out.pdsaOxidBindings = &dualstring;
status = dcerpc_RemoteActivation(p, ctx, &r);