Nikolay Sivov (@nsivov) commented about dlls/combase/tests/string.c:
- init_user_marshal_cb(&umcb, &stub_msg, &rpc_msg, NULL, 0, MSHCTX_LOCAL);
- size = HSTRING_UserSize(&umcb.Flags, 1, &str);
- exp_size = ALIGNED_LENGTH(1, 7) + offsetof(struct hstring_wire, buf.data[str_len]);
- ok(size == exp_size, "got size %lu != %lu\n", size, exp_size);
- memset(buffer, 0, 80);
- init_user_marshal_cb(&umcb, &stub_msg, &rpc_msg, buffer, size, MSHCTX_LOCAL);
- next = HSTRING_UserMarshal(&umcb.Flags, &buffer[1], &str);
- ok(next == &buffer[size], "got next %p != %p\n", next, &buffer[size]);
- wire = ALIGNED_POINTER(&buffer[1], 7);
- ok(wire->buf.size == str_bytes, "got buf.size %lu != %lu\n", wire->buf.size, str_bytes);
- ok(!memcmp(wire->buf.data, str_buf, str_bytes), "got buf.data %s\n", debugstr_wn(wire->buf.data, str_bytes));
- next = HSTRING_UserUnmarshal(&umcb.Flags, &buffer[1], &str2);
- ok(next == &buffer[size], "got next %p != %p\n", next, &buffer[size]);
- ok(str2 != str, "got str2 %p\n", str2);
- order = -1;
- hr = WindowsCompareStringOrdinal(str2, str, &order);
Could we call that "result" instead? What does 'order' mean in this context?