RpcBindingInqAuthInfoExA function (rpcdce.h)
The RpcBindingInqAuthInfoEx function returns authentication, authorization, and security quality-of-service information from a binding handle.
Syntax
RPC_STATUS RpcBindingInqAuthInfoExA(
RPC_BINDING_HANDLE Binding,
RPC_CSTR *ServerPrincName,
unsigned long *AuthnLevel,
unsigned long *AuthnSvc,
RPC_AUTH_IDENTITY_HANDLE *AuthIdentity,
unsigned long *AuthzSvc,
unsigned long RpcQosVersion,
RPC_SECURITY_QOS *SecurityQOS
);
Parameters
Binding
Server binding handle from which authentication and authorization information is returned.
ServerPrincName
Returns a pointer to a pointer to the expected principal name of the server referenced in Binding. The content of the returned name and its syntax are defined by the authentication service in use.
Specify a null value to prevent RpcBindingInqAuthInfoEx from returning the ServerPrincName parameter. In this case, the application does not call the RpcStringFree function.
AuthnLevel
Returns a pointer set to the level of authentication used for remote procedure calls made using Binding. For a list of the RPC-supported authentication levels, see Authentication-Level Constants. Specify a null value to prevent the function from returning the AuthnLevel parameter.
The level returned in the AuthnLevel parameter may be different from the level specified when the client called the RpcBindingSetAuthInfoEx function. This discrepancy happens when the RPC run-time library does not support the authentication level specified by the client and automatically upgrades to the next higher authentication level.
AuthnSvc
Returns a pointer set to the authentication service specified for remote procedure calls made using Binding. For a list of the RPC-supported authentication services, see Authentication-Service Constants.
Specify a null value to prevent RpcBindingInqAuthInfoEx from returning the AuthnSvc parameter.
AuthIdentity
Returns a pointer to a handle to the data structure that contains the client's authentication and authorization credentials specified for remote procedure calls made using Binding.
Specify a null value to prevent RpcBindingInqAuthInfoEx from returning the AuthIdentity parameter.
AuthzSvc
Returns a pointer set to the authorization service requested by the client application that made the remote procedure call on Binding. For a list of the RPC-supported authentication services, see Authentication-Service Constants.
Specify a null value to prevent RpcBindingInqAuthInfoEx from returning the AuthzSvc parameter.
RpcQosVersion
Passes value of current version (needed for forward compatibility if extensions are made to this function). Always set this parameter to RPC_C_SECURITY_QOS_VERSION.
SecurityQOS
Returns pointer to the RPC_SECURITY_QOS structure, which defines quality-of-service settings.
Return value
Value | Meaning |
---|---|
|
The call succeeded. |
|
The binding handle was invalid. |
|
This was the wrong kind of binding for the operation. |
|
Binding has no authentication information. |
Remarks
A client application calls the RpcBindingInqAuthInfoEx function to view the authentication and authorization information associated with a server binding handle. This function provides the ability to inquire about the security quality of service on the binding handle. It is otherwise identical to RpcBindingInqAuthInfo.
The RPC run-time library allocates memory for the returned ServerPrincName parameter. The application is responsible for calling the RpcStringFree function for that returned argument string.
Note
The rpcdce.h header defines RpcBindingInqAuthInfoEx as an alias which automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see Conventions for Function Prototypes.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 2000 Professional [desktop apps | UWP apps] |
Minimum supported server | Windows 2000 Server [desktop apps | UWP apps] |
Target Platform | Windows |
Header | rpcdce.h (include Rpc.h) |
Library | Rpcrt4.lib |
DLL | Rpcrt4.dll |