[PATCH] rpcrt4: Improve stub for I_RpcBindingInqTransportType, with test

Detlef Riekenberg wine.dev at web.de
Sat Aug 9 14:52:31 CDT 2008


---
 dlls/rpcrt4/rpc_binding.c |    4 ++++
 dlls/rpcrt4/tests/rpc.c   |   25 +++++++++++++++++++++++++
 2 files changed, 29 insertions(+), 0 deletions(-)

diff --git a/dlls/rpcrt4/rpc_binding.c b/dlls/rpcrt4/rpc_binding.c
index a439bc3..2ae3729 100644
--- a/dlls/rpcrt4/rpc_binding.c
+++ b/dlls/rpcrt4/rpc_binding.c
@@ -848,6 +848,10 @@ RPC_STATUS WINAPI I_RpcBindingInqTransportType( RPC_BINDING_HANDLE Binding, unsi
 {
 
   FIXME( "(%p,%p): stub\n", Binding, Type);
+
+  /* NT: RPC_S_NO_CONTEXT_AVAILABLE, 9x: RPC_S_NO_CALL_ACTIVE */
+  if (!Binding) return RPC_S_NO_CONTEXT_AVAILABLE;
+
   *Type = TRANSPORT_TYPE_LPC;
   return RPC_S_OK;
 }
diff --git a/dlls/rpcrt4/tests/rpc.c b/dlls/rpcrt4/tests/rpc.c
index 19a0a94..02113d3 100644
--- a/dlls/rpcrt4/tests/rpc.c
+++ b/dlls/rpcrt4/tests/rpc.c
@@ -722,6 +722,29 @@ static void test_endpoint_mapper(void)
     ok(status == RPC_S_OK, "RpcBindingVectorFree failed with error %lu\n", status);
 }
 
+/* ################ */
+
+static void test_I_RpcBindingInqTransportType(void)
+{
+    unsigned int type;
+    RPC_STATUS status;
+
+    type = 0xdeadbeef;
+    status = I_RpcBindingInqTransportType(NULL, &type);
+    /* w2k: RPC_S_NO_CONTEXT_AVAILABLE, 9x: RPC_S_NO_CALL_ACTIVE */
+    ok( status == RPC_S_NO_CONTEXT_AVAILABLE || status == RPC_S_NO_CALL_ACTIVE,
+        "got %d (expected RPC_S_NO_CONTEXT_AVAILABLE or RPC_S_NO_CALL_ACTIVE)\n",
+        status);
+
+    status = I_RpcBindingInqTransportType(NULL, NULL);
+    ok( status == RPC_S_NO_CONTEXT_AVAILABLE || status == RPC_S_NO_CALL_ACTIVE,
+        "got %d (expected RPC_S_NO_CONTEXT_AVAILABLE or RPC_S_NO_CALL_ACTIVE)\n",
+        status);
+
+}
+
+/* ################ */
+
 START_TEST( rpc )
 {
     trace ( " ** Uuid Conversion and Comparison Tests **\n" );
@@ -734,4 +757,6 @@ START_TEST( rpc )
     test_RpcStringBindingParseA();
     test_I_RpcExceptionFilter();
     test_endpoint_mapper();
+    test_I_RpcBindingInqTransportType();
 }
+
-- 
1.5.4.3


--=-bqOvm5PZErAOksjHWEx9--




More information about the wine-patches mailing list