X-Git-Url: https://git.reactos.org/?p=reactos.git;a=blobdiff_plain;f=rostests%2Fwinetests%2Frpcrt4%2Fserver.c;h=c9814d35c0dbd60216f7dc1edf181cb397f98c90;hp=0f659be20535ad3fa0e7ee4f9c85a09a0cd84d9a;hb=a4cfe8d2da3c36796241eb139c2c88bb64306853;hpb=c0e27b85ab92c968e3fbedb379ca22cc64eaf5a8 diff --git a/rostests/winetests/rpcrt4/server.c b/rostests/winetests/rpcrt4/server.c index 0f659be2053..c9814d35c0d 100644 --- a/rostests/winetests/rpcrt4/server.c +++ b/rostests/winetests/rpcrt4/server.c @@ -743,6 +743,46 @@ void __cdecl s_context_handle_test(void) pNDRSContextUnmarshall2(binding, buf, NDR_LOCAL_DATA_REPRESENTATION, &server_if2.InterfaceId, 0); } + + binding = NULL; + status = RpcBindingServerFromClient(NULL, &binding); + + ok(status == RPC_S_OK, "expected RPC_S_OK got %u\n", status); + ok(binding != NULL, "binding is NULL\n"); + + if (status == RPC_S_OK && binding != NULL) + { + unsigned char* string_binding = NULL; + unsigned char* object_uuid = NULL; + unsigned char* protseq = NULL; + unsigned char* network_address = NULL; + unsigned char* endpoint = NULL; + unsigned char* network_options = NULL; + + status = RpcBindingToStringBindingA(binding, &string_binding); + ok(status == RPC_S_OK, "expected RPC_S_OK got %u\n", status); + ok(string_binding != NULL, "string_binding is NULL\n"); + + status = RpcStringBindingParseA(string_binding, &object_uuid, &protseq, &network_address, &endpoint, &network_options); + ok(status == RPC_S_OK, "expected RPC_S_OK got %u\n", status); + ok(protseq != NULL && *protseq != '\0', "protseq is %s\n", protseq); + ok(network_address != NULL && *network_address != '\0', "network_address is %s\n", network_address); + + todo_wine + { + ok(object_uuid != NULL && *object_uuid == '\0', "object_uuid is %s\n", object_uuid); + ok(endpoint != NULL && *endpoint == '\0', "endpoint is %s\n", endpoint); + ok(network_options != NULL && *network_options == '\0', "network_options is %s\n", network_options); + } + + RpcStringFreeA(&string_binding); + RpcStringFreeA(&object_uuid); + RpcStringFreeA(&protseq); + RpcStringFreeA(&network_address); + RpcStringFreeA(&endpoint); + RpcStringFreeA(&network_options); + RpcBindingFree(&binding); + } } void __cdecl s_get_numbers(int length, int size, pints_t n[])