On Wed Apr 12 06:56:41 2023 +0000, Zhiyi Zhang wrote:
Could you be more specific about your question? You can paste your code here.
I tried to add an interface like this: ``` [ uuid(00000000-4114-0704-2301-000000000002) ]
interface IServer_Expilicit { void need_explicit_handle([in] handle_t binding, [in] unsigned int protseq); } ``` I added the code above to the file 'server_interp.idl', the function code to 'server.c' like this: ``` void __cdecl s_need_explicit_handle(RPC_BINDING_HANDLE binding, unsigned int protseq) { RPC_STATUS status; ULONG pid;
winetest_push_context("%s", client_test_name); ok(binding != NULL, "Got unexpected binding\n");
trace("s_need_explicit_handle\n"); if (protseq == RPC_PROTSEQ_LRPC) /* Other protocol sequences throw exceptions */ { trace("RPC_PROTSEQ_LRPC\n"); status = I_RpcBindingInqLocalClientPID(binding, &pid); trace("I_RpcBindingInqLocalClientPID\n"); ok(status == RPC_S_OK, "Got unexpected %ld.\n", status); ok(pid == client_info.dwProcessId, "Got unexpected pid.\n"); trace("pid=%x client_info.dwProcessId=%x\n", pid, client_info.dwProcessId); }
winetest_pop_context(); } ``` Then I don't know what to do next.