Condividi tramite


Funzione RpcBindingInqAuthClientEx (rpcdce.h)

Un'applicazione server chiama la funzione RpcBindingInqAuthClientEx per ottenere informazioni estese sul programma client che ha effettuato la chiamata alla procedura remota.

Sintassi

RPC_STATUS RpcBindingInqAuthClientEx(
  RPC_BINDING_HANDLE ClientBinding,
  RPC_AUTHZ_HANDLE   *Privs,
  RPC_CSTR           *ServerPrincName,
  unsigned long      *AuthnLevel,
  unsigned long      *AuthnSvc,
  unsigned long      *AuthzSvc,
  unsigned long      Flags
);

Parametri

ClientBinding

Handle di associazione client del client che ha effettuato la chiamata alla procedura remota. Il valore può essere zero. Vedere la sezione Osservazioni.

Privs

Restituisce un puntatore a un handle per le informazioni con privilegi per l'applicazione client che ha eseguito la chiamata alla procedura remota nell'handle di associazione ClientBinding . Per le chiamate ncalrpc , Privs contiene una stringa con il nome dell'entità del client.

L'applicazione server deve eseguire il cast del parametro Privs sul tipo di dati specificato dal parametro AuthnSvc . I dati a cui fa riferimento questo argomento sono di sola lettura e non devono essere modificati dall'applicazione server. Se il server vuole mantenere uno dei dati restituiti, il server deve copiare i dati nella memoria allocata dal server.

Per altre informazioni sui provider di servizi di configurazione, vedere Security Support Providers (SSP).

ServerPrincName

Restituisce un puntatore a un puntatore al nome dell'entità server specificato dall'applicazione server che ha chiamato la funzione RpcServerRegisterAuthInfo . Il contenuto del nome restituito e la relativa sintassi sono definiti dal servizio di autenticazione in uso. Per il provider di servizi condivisi SCHANNEL, il nome dell'entità è in formato msstd. Per altre informazioni sul formato msstd, vedere Principal Names.For further information on msstd format, see Principal Names.

Specificare un valore Null per impedire a RpcBindingInqAuthClientEx di restituire il parametro ServerPrincName . In questo caso, l'applicazione non chiama la funzione RpcStringFree .

AuthnLevel

Restituisce un puntatore impostato sul livello di autenticazione richiesto dall'applicazione client che ha effettuato la chiamata di procedura remota sull'handle di associazione ClientBinding . Per un elenco dei livelli di autenticazione supportati da RPC, vedere Costanti a livello di autenticazione.

Specificare un valore Null per impedire a RpcBindingInqAuthClientEx di restituire il parametro AuthnLevel .

AuthnSvc

Restituisce un puntatore impostato sul servizio di autenticazione richiesto dall'applicazione client che ha effettuato la chiamata di procedura remota sull'handle di associazione ClientBinding . Per un elenco dei servizi di autenticazione supportati da RPC, vedere Authentication-Service Constants .For a list of the RPC-supported authentication services services, see Authentication-Service Constants.

Specificare un valore Null per impedire a RpcBindingInqAuthClientEx di restituire il parametro AuthnSvc .

Nota: AuthnSvc corrisponde al SECURITY_STATUS restituito da QueryContextAttributes in ogni provider di servizi condivisi basato su certificato per SECPKG_ATTR_DCE_INFO o SECPKG_ATTR_REMOTE_CERT_CONTEXT.
 

AuthzSvc

Restituisce un puntatore impostato sul servizio di autorizzazione richiesto dall'applicazione client che ha effettuato la chiamata di procedura remota sull'handle di associazione binding. Per un elenco dei servizi di autorizzazione supportati da RPC, vedere Costanti del servizio di autorizzazione.

Specificare un valore Null per impedire a RpcBindingInqAuthClientEx di restituire il parametro AuthzSvc . Questo parametro non viene usato dal servizio di autenticazione RPC_C_AUTHN_WINNT. Il valore restituito sarà sempre RPC_S_AUTHZ_NONE.

Flags

Controlla il formato del nome dell'entità. Questo parametro può essere impostato sul valore seguente.

Valore Significato
RPC_C_FULL_CERT_CHAIN
Restituisce il nome dell'entità in formato fullsic .

Valore restituito

Valore Significato
RPC_S_OK
La chiamata ha avuto esito positivo.
RPC_S_INVALID_BINDING
Handle di associazione non valido.
RPC_S_WRONG_KIND_OF_BINDING
Si tratta del tipo di binding errato per l'operazione.
RPC_S_BINDING_HAS_NO_AUTH
L'associazione non contiene informazioni di autenticazione.
 
Nota Per un elenco di codici di errore validi, vedere Valori restituiti RPC.
 

Commenti

Un'applicazione server chiama la funzione RpcBindingInqAuthClientEx per ottenere il nome dell'entità o gli attributi dei privilegi del client autenticato che ha effettuato la chiamata alla procedura remota. RpcBindingInqAuthClientEx restituisce anche il servizio di autenticazione, il livello di autenticazione e il nome dell'entità server specificati dal client. Il server può usare i dati restituiti a scopo di autorizzazione.

La libreria di runtime RPC alloca memoria per il parametro ServerPrincName restituito. L'applicazione è responsabile della chiamata della funzione RpcStringFree per la stringa di argomento restituita.

Per le chiamate RPC sincrone, l'applicazione server può usare zero come valore per il parametro ClientBinding . L'utilizzo di zero recupera le informazioni di autenticazione e autorizzazione dalla chiamata di procedura remota attualmente in esecuzione.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione rpcdce.h (include Rpc.h)
Libreria Rpcrt4.lib
DLL Rpcrt4.dll

Vedi anche

RpcBindingInqAuthClient

RpcBindingSetAuthInfo

RpcStringFree