[PATCH] rpcrt4: Add RpcGetAuthorizationContextForClient stub
Nikolay Sivov
nsivov at codeweavers.com
Wed Jan 22 07:34:50 CST 2020
On 1/22/20 3:57 PM, Oleg Dubinskiy wrote:
> 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.
That doesn't sound right, why free function would call it?
> + *
> + * 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.
> + */
I know we have those headers for many functions, but in my opinion they
have no purpose.
> +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)
More information about the wine-devel
mailing list