RpcBindingInqAuthClient
This function
is supported by both 32-bit platforms Windows NT and Windows 95.
#include <rpc.h>
RPC_STATUS RPC_ENTRY RpcBindingInqAuthClient(
RPC_BINDING_HANDLE ClientBinding, |
|
RPC_AUTHZ_HANDLE * Privs, |
|
unsigned char * * ServerPrincName, |
|
unsigned long * AuthnLevel, |
|
unsigned long * AuthnSvc, |
|
unsigned long * AuthzSvc |
|
); |
|
Parameters
ClientBinding
Specifies the
client binding handle of the client that made the remote procedure call. This
value can be zero (see Remarks).
Privs
Returns a
pointer to a handle to the privileged information for the client application
that made the remote procedure call on the ClientBinding binding handle.
The server
application must cast the ClientBinding binding handle to the data type
specified by the AuthzSvc argument. The data referenced by this argument
is read-only and should not be modified by the server application. If the
server wants to preserve any of the returned data, the server must copy the
data into server-allocated memory. This parameter is not used by the
RPC_C_AUTHN_WINNT authentication service. The returned pointer will always be
NULL.
ServerPrincName
Returns a
pointer to a pointer to the server principal name specified by the client
application that made the remote procedure call on the ClientBinding
binding handle. The content of the returned name and its syntax are defined by
the authentication service in use.
Specify a
null value to prevent RpcBindingInqAuthClient from returning the ServerPrincName
argument. In this case, the application does not call the RpcStringFree
routine.
AuthnLevel
Returns a
pointer to the level of authentication requested by the client application that
made the remote procedure call on the ClientBinding binding handle.
Specify a
null value to prevent RpcBindingInqAuthClient from returning the AuthnLevel
argument.
AuthnSvc
Returns a
pointer to the authentication service requested by the client application that
made the remote procedure call on the ClientBinding binding handle. For
a list of the RPC-supported authentication levels, see Authentication-Level
Constants
Specify a
null value to prevent RpcBindingInqAuthClient from returning the AuthnSvc
argument. This parameter is not used by the RPC_C_AUTHN_WINNT authentication
service. The returned value will always be RPC_S_AUTHZ_NONE.
AuthzSvc
Returns a
pointer to the authorization service requested by the client application that
made the remote procedure call on the Binding binding handle. For a list
of possible returns, see RpcMgmtInqDefaultProtectLevel.
Specify a
null value to prevent RpcBindingInqAuthClient from returning the AuthnSvc
argument.
Remarks
A server
application calls the RpcBindingInqAuthClient routine to obtain the
principal name or privilege attributes of the authenticated client that made
the remote procedure call. In addition, RpcBindingInqAuthClient returns
the authentication service, authentication level, and server principal name
specified by the client. The server can use the returned data for authorization
purposes.
The RPC
run-time library allocates memory for the returned ServerPrincName
argument. The application is responsible for calling the RpcStringFree
routine for the returned argument string.
For clients
using the MIDL auto_handle or implicit_handle attribute, the
server application should use zero as the value for the ClientBinding
parameter. Using zero retrieves the authentication and authorization
information from the currently executing remote procedure call.
Return Values
value |
Meaning |
RPC_S_OK |
Success |
RPC_S_INVALID_BINDING |
Invalid
binding handle |
RPC_S_WRONG_KIND_OF_BINDING |
Wrong kind
of binding for operation |
RPC_S_BINDING_HAS_NO_AUTH |
Binding has
no authentication information |
See Also