diff --git a/dll/win32/rpcrt4/rpc_async.c b/dll/win32/rpcrt4/rpc_async.c index 00c2d6bede8..40628b4b4ef 100644 --- a/dll/win32/rpcrt4/rpc_async.c +++ b/dll/win32/rpcrt4/rpc_async.c @@ -166,3 +166,50 @@ 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; } + +#ifdef __REACTOS__ +/*********************************************************************** + * 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; +} +#endif diff --git a/dll/win32/rpcrt4/rpcrt4.spec b/dll/win32/rpcrt4/rpcrt4.spec index 7bc8f6f85f1..38bdfd310ee 100644 --- a/dll/win32/rpcrt4/rpcrt4.spec +++ b/dll/win32/rpcrt4/rpcrt4.spec @@ -378,7 +378,7 @@ 378 stdcall RpcErrorStartEnumeration(ptr) 379 stub RpcFreeAuthorizationContext 380 stdcall RpcGetAsyncCallStatus(ptr) RpcAsyncGetCallStatus -# RpcGetAuthorizationContextForClient +381 stdcall RpcGetAuthorizationContextForClient(ptr long ptr ptr int64 long ptr ptr) 382 stub RpcIfIdVectorFree 383 stub RpcIfInqId 384 stdcall RpcImpersonateClient(ptr)