rpcrt4: Add RpcGetAuthorizationContextForClient stub
Signed-off-by: Oleg Dubinskiy oleg.dubinskij2013@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)
On 1/22/20 3:57 PM, Oleg Dubinskiy wrote:
rpcrt4: Add RpcGetAuthorizationContextForClient stub
Signed-off-by: Oleg Dubinskiy oleg.dubinskij2013@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)