Authentication-Level Constants

The AuthnLevel argument represents the authentication level supplied to the RpcBindingInqAuthInfo and RpcBindingSetAuthInfo run-time functions.

The levels are listed in order of increasing authentication. Each new level adds to the authentication provided by the previous level. If the RPC run-time library does not support the specified level, it automatically upgrades to the next higher supported level.

The following constants represent valid values for the AuthnLevel argument:

Constant Description
RPC_C_AUTHN_LEVEL_DEFAULT Uses the default authentication level for the specified authentication service.
RPC_C_AUTHN_LEVEL_NONE Performs no authentication.
RPC_C_AUTHN_LEVEL_CONNECT Authenticates only when the client establishes a relationship with a server.
RPC_C_AUTHN_LEVEL_CALL Authenticates only at the beginning of each remote procedure call when the server receives the request. Does not apply to remote procedure calls made using the connection-based protocol sequences (those that start with the prefix "ncacn"). If the protocol sequence in a binding handle is a connection-based protocol sequence and you specify this level, this routine instead uses the RPC_C_AUTHN_LEVEL_PKT constant.
RPC_C_AUTHN_LEVEL_PKT Authenticates that all data received is from the expected client.
RPC_C_AUTHN_LEVEL_PKT
_INTEGRITY
Authenticates and verifies that none of the data transferred between client and server has been modified.
RPC_C_AUTHN_LEVEL_PKT
_PRIVACY
Authenticates all previous levels and encrypts the argument value of each remote procedure call.

Note  RPC_C_AUTHN_LEVEL_CALL, RPC_C_AUTHN_LEVEL_PKT, RPC_C_AUTHN_LEVEL_PKT_INTEGRITY, and RPC_C_AUTHN_LEVEL_PKT_PRIVACY are only supported for clients communicating with a Windows NT server. A Windows 95 server can only accept incoming calls at the RPC_C_AUTHN_LEVEL_CONNECT level.

See Also

RpcBindingInqAuthInfo, RpcBindingSetAuthInfo