[PATCH] rpcrt4: Add RpcGetAuthorizationContextForClient stub

Oleg Dubinskiy oleg.dubinskij2013 at yandex.ua
Fri Jan 3 13:36:30 CST 2020


rpcrt4: Add RpcGetAuthorizationContextForClient stub

Signed-off-by: Oleg Dubinskiy <oleg.dubinskij2013 at yandex.ua>
---
 dlls/rpcrt4/rpc_async.c | 45 +++++++++++++++++++++++++++++++++++++++++
 dlls/rpcrt4/rpcrt4.spec |  1 +
 2 files changed, 46 insertions(+)

diff --git a/dlls/rpcrt4/rpc_async.c b/dlls/rpcrt4/rpc_async.c
index 00c2d6bede..4f7cd9f7e2 100644
--- a/dlls/rpcrt4/rpc_async.c
+++ b/dlls/rpcrt4/rpc_async.c
@@ -166,3 +166,48 @@ RPC_STATUS WINAPI RpcAsyncCancelCall(PRPC_ASYNC_STATE pAsync, BOOL fAbortCall)
     FIXME("(%p, %s): stub\n", pAsync, fAbortCall ? "TRUE" : "FALSE");
     return RPC_S_INVALID_ASYNC_HANDLE;
 }
+
+/***********************************************************************
+ *           RpcGetAuthorizationContextForClient [RPCRT4.@]
+ * 
+ * Called by RpcFreeAuthorizationContext to return the Authz context.
+ * 
+ * PARAMS
+ *  ClientBinding        [I] Binding handle, represents a binding to a client on the server.
+ *  ImpersonateOnReturn  [I] Directs this function to be represented the client on return.
+ *  Reserved1            [I] Reserved, equal to null.
+ *  expiration_time      [I] Points to the exact date and time when the token expires.
+ *  Reserved2            [I] Reserved, equal to a LUID structure which has a members,
+ *                           each of them is set to zero.
+ *  Reserved3            [I] Reserved, equal to zero.
+ *  Reserved4            [I] Reserved, equal to null.
+ *  authz_client_context [I] Points to an AUTHZ_CLIENT_CONTEXT_HANDLE structure
+ *                           that has direct pass to Authz functions.
+ * 
+ * RETURNS
+ *  Success: RPC_S_OK.
+ *  Failure: Any error code.
+ */
+RPC_STATUS
+WINAPI
+RpcGetAuthorizationContextForClient(RPC_BINDING_HANDLE ClientBinding,
+                                    BOOL ImpersonateOnReturn,
+                                    void * Reserved1,
+                                    PLARGE_INTEGER expiration_time,
+                                    LUID Reserved2,
+                                    DWORD Reserved3,
+                                    PVOID Reserved4,
+                                    PVOID *authz_client_context)
+{
+    FIXME("(%p, %d, %p, %p, (%d, %u), %u, %p, %p): stub\n",
+          ClientBinding,
+          ImpersonateOnReturn,
+          Reserved1,
+          expiration_time,
+          Reserved2.HighPart,
+          Reserved2.LowPart,
+          Reserved3,
+          Reserved4,
+          authz_client_context);
+    return RPC_S_NO_CONTEXT_AVAILABLE;
+}
diff --git a/dlls/rpcrt4/rpcrt4.spec b/dlls/rpcrt4/rpcrt4.spec
index 5d558bff75..56f96ab29a 100644
--- a/dlls/rpcrt4/rpcrt4.spec
+++ b/dlls/rpcrt4/rpcrt4.spec
@@ -387,6 +387,7 @@
 @ stdcall RpcExceptionFilter(long)
 @ stub RpcFreeAuthorizationContext # wxp
 @ stdcall RpcGetAsyncCallStatus(ptr) RpcAsyncGetCallStatus
+@ stdcall RpcGetAuthorizationContextForClient(ptr long ptr ptr int64 long ptr ptr)
 @ stub RpcIfIdVectorFree
 @ stub RpcIfInqId
 @ stdcall RpcImpersonateClient(ptr)
-- 
2.24.1




More information about the wine-devel mailing list